Which vendor declares a code that does not match
One declaration in this register carries a code that does not match the page it points at. It is written with the code for Breton, a language of western France, and it resolves to a Brazilian Portuguese subdomain. As of 2026-09-12.
| Tool | What is published | Detail |
|---|---|---|
| Rask AI | An alternate declared as br, pointing at Brazilian Portuguese | Brazilian Portuguese is written pt-BR |
| Rask AI | 16 alternates declared in all | 15 of them on language subdomains |
| Everyone else | No mismatched code found | Every other declared code matches its target language |
Inclusion rule. Alternates whose declared code names a different language from the page it resolves to. Checking this requires opening each target. Order. The vendor with the mismatch first.
1A declaration can be wrong without being dishonest
Nobody reads markup. A two-letter code that happens to look like an abbreviation for Brazil is an easy mistake to make and an impossible one to notice from the rendered page, and it will sit there until somebody audits the site.
That is what a declaration is: a machine-readable assertion that can be false in ways no human reader of the page would ever see. It is worth one page of this register because it shows the limits of the evidence the whole column rests on.
2It is recorded rather than corrected
Normalising it to the code the vendor evidently meant would make the row tidier and would delete the finding. The register prints the code as written and says where it points.
The same discipline applies everywhere else: codes are transcribed, never rewritten. A cell that silently repaired a vendor markup would be reporting on a site that does not exist.
3The vendor also loses fifteen alternates to the counting rule
Of sixteen declared alternates, fifteen resolve to language subdomains and are not counted. So this row reads one in the site column while carrying the largest raw declaration in the register.
Both figures are printed on the vendor page. The mismatch sits inside the discarded group, which means it costs the vendor nothing in the count and is recorded anyway, because the markup is what the column reads.
4The three columns behind this question
| Column | How many of the 18 tools name a list |
|---|---|
| Dialogue language | 5 of 18 tools |
| Document language | 1 of 18 tools |
| Site language | 9 of 18 tools |
Inclusion rule. The three columns this register keeps. A column stays listed even when no vendor names a list, because silence in a column is itself recorded. Order. Alphabetical by column name.
- Site languagesOne alternate is declared with the code br, which belongs to Breton, and points at a Brazilian Portuguese subdomaina code that does not match its target
- Site languages16 alternates declared: ar, br, cs, de, en, es, es-mx, fr, it, ja, ko, pl, pt, th, tr, zhraw count before the rule is applied
- Site languagesFifteen of the sixteen resolve to language subdomains; English alone sits on the host being countedwhere the alternates resolve
5Sources
Counts and lists are read from the vendor pages named in the register, checked 2026-09-12. The counting rule is on how counted. Nearby: Sets inside sets, Site vs product.