When European Portuguese messages don't exist, the Brazilian Portuguese version should be used as a fallback before going to the default (English). The language fallback code features loop detection code, so the fact that the opposite fallback pair exists (pt-br fallbacks to pt) shouldn't be a problem. So, apart from the pt-br --> pt fallback, a pt --> pt-br link should also be added.
A specific issue that would be solved by this change is the behavior of the {{#language:}} parser function, of the CLDR extension. Due to (1) pt-br being the default in CLDR (which is where the #language parser function gets its data) while pt-pt is the fallback, and (2) the way CLDR stores values in their database (for each variant, they only store the values that are different than the default variant), the European Portuguese language names aren't listed for most languages, and fallback to the English name. For example, {{#language:pt|pt-br}} returns "português" (correct), but {{#language:pt|pt}} returns "Portuguese" (wrong). Having this fallback in place would make the system work correctly.
Version: unspecified
Severity: enhancement