Module:category tree/poscatboiler/data/lang-specific/pt
Appearance
- The following documentation is generated by Module:documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
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}