How a language gets counted here
Site languages are counted from hreflang alternates served from the vendor's own domain. Output and voice languages are counted only from a vendor's own published list or count. Nothing is inferred from a product's behaviour, and no column is filled from a review. As of 2026-09-12.
| Column | Counted from | Not counted | Filled for |
|---|---|---|---|
| Dialogue language | A vendor's own named list of spoken languages | A total with no list; a language seen in a demo | One of two tools |
| Document language | A published rule about the language of generated documents | Interface language; a language seen in a screenshot | One of two tools |
| Site language | hreflang alternates served from the vendor's own domain | Subdomains run by someone else; machine-translated mirrors | Both tools |
Inclusion rule. The three columns this register keeps. A column stays in the table even when neither tool publishes anything in it, because an empty column is a finding about disclosure. Order. Alphabetical by column name.
1The site-language rule
Every alternate a vendor declares with an hreflang attribute is counted once, except two cases. x-default is not a language and is skipped. An alternate pointing at a different domain is skipped too, because it describes a separate property with its own prices, its own sign-in and often its own operator; counting it would credit one site with another site's reach.
That second rule bites on more than one vendor in the register, and it is applied identically to all of them. It is the reason two counts here are lower than the raw number of alternates on the page, and the reason both are comparable with each other.
A declaration is not proof that a translated page exists behind it, so a spot check is recorded where one has been done: one alternate opened, and a note of whether the page behind it is written in that language. One check is recorded as one check and is not generalised to the rest.
2The output and voice rules
These two columns are filled only from what a vendor publishes about its own product: a named list, or a count. A count without a list is recorded as a count, because rounding it up into a list would invent names, and rounding it down to nothing would discard a published fact.
Nothing is inferred from trying the product. A tool that produces Portuguese dialogue when asked is not therefore documented as supporting Portuguese, because the question this register answers is what a buyer can find out before paying. That is also why a blank cell is written as no list published rather than as a dash: the absence is the finding.
3Why the three columns never get merged
They measure different systems. The site is marketing, translated by the vendor once. The output is the model's writing, which depends on the model and the instructions given to it. The voices are a separate library with its own coverage. A tool can score high on any one and zero on the others, and in this register most do.
A single merged number would also be the easiest thing on this site to game, because the cheapest of the three columns to raise is the one that matters least to a production.
4Dates and corrections
Two dates sit behind every count: when it entered the register and when it was last verified against the source. Verification that confirms the count still moves the later date, so an old date means the entry is unvisited rather than wrong.
The date printed on a page tracks its content, not the build that produced it. Where the register and a vendor page disagree, the vendor page is authoritative and the entry is amended at the next pass.