Portuguese is declared seven times, in two different codes
Seven of the nine vendors that declare a site language declare Portuguese. Four use the bare code and three use the Brazilian variant, which makes this the only language here where the variant question is answered by half the field and dodged by the rest. As of 2026-09-22.
| Vendor | Code as declared | Form of the code | The set it sits in |
|---|---|---|---|
| CapCut | pt-BR | Region-tagged | 27 locales, every one but English region-tagged |
| Kling AI | pt | Bare language code | 20 bare codes |
| PixVerse | pt | Bare language code | 13 bare codes |
| Runway | pt-BR | Region-tagged | five codes, one of them region-tagged |
| SceneMixer | pt | Bare language code | 15 codes, one of them script-tagged |
| Synthesia | pt-BR | Region-tagged | nine codes, one of them region-tagged |
| Vidu | pt | Bare language code | nine bare codes |
Inclusion rule. Vendors declaring this language as a same-host hreflang alternate. A vendor serving the language without declaring it cannot be seen by this method and is not listed. Order. Alphabetical by vendor.
1The split is even, and only one half is specific
Three vendors declare pt-BR. Four declare pt. The first three have named a market; the other four have named a language spoken across several markets with audibly different norms.
Neither choice is wrong. But a reader who needs European Portuguese learns from three of these rows that they will not get it, and learns nothing at all from the other four, which is a real difference between two cells that look equally filled.
2Nobody declares European Portuguese
No vendor in this register declares pt-PT. The variant question, where it is answered, is answered in Brazil's favour every time, which is what an audience ratio of roughly twenty to one would predict.
For a producer in Lisbon that is the finding: the market is not addressed by any declared site list here, and the four bare declarations cannot be read as covering it, because a bare code says nothing about which norm a page follows.
3The split moves to the voice column and disappears
A Portuguese site alternate says nothing about whether a generated script or a spoken line would be Portuguese, and nothing about which variant a voice would use. For six of these seven vendors both output columns are empty.
The variant problem is sharper in speech than on a page, because an audience notices an accent within a sentence and never sees a language tag at all. No vendor in this register publishes the variant of any voice it offers.
4Sources
Each row was read from the vendor's own markup on 2026-09-22 and is kept in the register; what counts as a declaration is on how counted. The form of the code is set out under region subtag.
Languages either side of this one in the index: Polish and Russian. Every language any vendor declares is listed at one language at a time.
- Site languages9 languages: de, en, es, fr, it, ja, nl, pt-BR, svdeclared as same-domain alternates
- Site languages5 languages: en, fr, ja, ko, pt-BRdeclared as same-domain alternates
- Site languages13 languages: de, en, es, fr, id, ja, ko, pt, ru, th, tr, vi, zhdeclared as same-domain alternates