Jump to content

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

From Wiktionary, the free dictionary

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

-----------------------------------------------------------------------------
--                                                                         --
--                                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",
}


-----------------------------------------------------------------------------
--                                                                         --
--                                 REFORMS                                 --
--                                                                         --
-----------------------------------------------------------------------------
labels["forms superseded in 1911"] = {
	description = "The following terms were used in European Portuguese until the [[w:Portuguese Orthographic Reform of 1911|Portuguese Orthographic Reform of 1911]]. This category does not include terms that fell out of use prior to 1911; for that, see [[:Category:Portuguese obsolete forms]].\n\nNote that, prior to 1911 in Portugal and 1943 in Brazil, there wasn’t an official standardized orthography for the language. “Standard” spellings were defined by common usage.",
	parents = {"archaic forms"},
}

labels["forms superseded in 1943"] = {
	description = "The following terms were used in Brazilian Portuguese until the [[w:1943_Portuguese_Orthographic_Form|Portuguese Orthographic Reform of 1943]]. This category does not include terms that fell out of use prior to 1943; for that, see [[:Category:Portuguese obsolete forms]].\n\nNote that, prior to 1911 in Portugal and 1943 in Brazil, there wasn’t an official standardized orthography for the languag. “Standard” spellings were defined by common usage.",
	parents = {"archaic forms"},
}

labels["forms superseded in 1945"] = {
	description = "The following terms were officially used in European Portuguese until the implementation of the [[w:pt:Acordo_Ortográfico_de_1945|Portuguese Orthographic Reform of 1945]], on January 1st 1946, via Decree 35,228/45.",
	parents = {"dated forms"},
}

labels["forms superseded in 1971"] = {
	description = "The following terms were officially used in Brazilian Portuguese from the implementation of the [[w:1943_Portuguese_Orthographic_Form|Portuguese Orthographic Reform of 1943]] until it was modified by Law 5,765/71, which came into effect on January 17th 1972.",
	parents = {"dated forms"},
}

labels["forms superseded in 1973"] = {
	description = "The following terms were officially used in European Portuguese from the implementation of the [[w:pt:Acordo_Ortográfico_de_1945|Portuguese Orthographic Reform of 1945]] until its modification by Decree-Law 32/73 on February 6th 1973.",
	parents = {"dated forms"},
}

labels["forms superseded by AO1990"] = {
	description = "The following terms were officially used in both the Brazilian and European variations of Portuguese until December 2015, when the period of transition between the previous spelling standard and the [[w:Portuguese Language Orthographic Agreement of 1990|Orthographic Agreement achieved in 1990]] ended in all countries that had put it into practice. For forms changed in only Brazilian Portuguese or European Portuguese, see the subcategories.",
	parents = {"superseded forms"},
}

raw_categories["Brazilian Portuguese forms superseded by AO1990"] = {
	description = "The following terms were officially used in Brazilian Portuguese — but not European Portuguese — until December 2015, when the period of transition between the previous spelling standard and the [[w:Portuguese Language Orthographic Agreement of 1990|Orthographic Agreement achieved in 1990]] ended.",
	parents = {
		{name = "Portuguese forms superseded by AO1990", is_label = true, lang = pt},
		{name = "Brazilian Portuguese forms", raw = true},
	},
}

raw_categories["European Portuguese forms superseded by AO1990"] = {
	description = "The following terms were officially used in European Portuguese — but not Brazilian Portuguese — until October 2015, when the period of transition between the previous spelling reform and the [[w:Portuguese Language Orthographic Agreement of 1990|Orthographic Agreement achieved in 1990]] ended in Cape Verde. Portugal’s transition period ended in May 2015.",
	parents = {
		{name = "Portuguese forms superseded by AO1990", is_label = true, lang = pt},
		{name = "European Portuguese forms", raw = true},
	},
}

labels["toponyms inconsistent with AO1990"] = {
	description = "According to the [[w:Portuguese Language Orthographic Agreement of 1990|Portuguese-Language Orthographic Agreement of 1990]], the toponyms below should be spelled differently. Nevertheless, their official name remains unchanged.",
	parents = {"forms superseded by AO1990"},
}

return {LABELS = labels, RAW_CATEGORIES = raw_categories}