Skip to content

i18n(pt-br): pair three pages with their English versions by namespace - #2625

Open
bruno-andrade-azion wants to merge 1 commit into
mainfrom
i18n/mm-16257-pair-single-language-namespaces
Open

bruno-andrade-azion wants to merge 1 commit into
mainfrom
i18n/mm-16257-pair-single-language-namespaces

Conversation

@bruno-andrade-azion

@bruno-andrade-azion bruno-andrade-azion commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Related issue: MM-16257
Pages affected:

  • /pt-br/documentacao/produtos/changelog/anos-anteriores/ ↔ /en/documentation/changelog/previous-year/
  • /pt-br/documentacao/contratos/tds/10-novembro-2020/ ↔ /en/documentation/agreements/tos/10-november-2020/
  • /pt-br/documentacao/contratos/tds/26-abril-2023/ ↔ /en/documentation/agreements/tos/30-march-2023/
  • /{en,pt-br}/…/devtools/runtime/api-reference/readable-byob-reader/ and …/stream-default-writer/ (frontmatter layout only)

Three pt-br pages now pair with their English version. Language versions pair by the namespace frontmatter. In these three pages the pt-br namespace differed from the English one, so the language switcher and hreflang did not link the two versions. The pt-br sidebar rows also opened the English page. In each case the pt-br side now uses the English namespace, because English is the source and the navigation trees key on it:

  • Changelog previous years: documentation_changelog_anos_anteriores → documentation_changelog_previous_years.
  • Terms of Service, November 10, 2020: …_10_november_2022 was a typo for …_10_november_2020.
  • Terms of Service, March 30, 2023 (en) and April 26, 2023 (pt-br) are corresponding revisions, published on a different date in each language.
    • Both add the same three items to the March 3, 2023 version: Edge Orchestrator, Orchestrated Edge Nodes and Total Orchestrated Data.
    • Both sit in the same slot of the "previous versions" list in the September 18, 2023 terms.
    • The pt-br revision also renames "Plano Econômico" to "Savings Plan", which the English text already used.
    • The dates stay as published; only the namespace changes.

The pt-br changelog page was titled just "Changelog". Once paired, its sidebar row would have read "Changelog" right under "Visão geral", so it is now "Changelog de anos anteriores", which matches the English "Changelog previous years".

Two namespaces move onto one line. readable-stream-byob-reader and writable-stream-default-writer wrote namespace: >- with the value on the next line, in both languages. The site's parser already read the value and paired these pages. Tools that read frontmatter line by line, such as a grep "^namespace: …" lookup, did not. The value is unchanged.

The slugcheck baseline drops from 6 to 3 (ci/baselines.json, via pnpm ci:ratchet slugcheck --update), so the three fixed pairs cannot regress.

Four pages stay in one language on purpose. Each is a legal text that exists in only one language, and pairing it would mean writing a legal translation, which is Legal's call. None of them changes in this PR:

  • Azion Marketplace Agreement: English only. Its pt-br sidebar row keeps falling back to English.
  • Termos de Serviço, 25 de novembro de 2022: pt-br only. The English series goes from September 23, 2022 straight to March 3, 2023.
  • Cláusulas ANPD, controlador-operador and operador-operador: pt-br only. They hold the clauses of Resolução CD/ANPD nº 19/2024 and are linked only from the pt-br Privacy Policy.

How I checked it:

  • A gray-matter pass over every page, the same parser the site uses. Before: 4 namespaces only in English, 6 only in pt-br and 2 written as >-. After: 1 only in English, 3 only in pt-br, none written as >-, and no duplicate namespaces.
  • pnpm lint:slugcheck lists exactly the 3 pt-br legal pages above. pnpm ci:ratchet slugcheck passes at baseline 3.
  • pnpm lint:navcheck passes. The three "has no Portuguese page; the row falls back to English" warnings for the fixed pairs are gone. The one for the Marketplace Agreement remains.
  • Prettier --check passes on the 8 changed files. ESLint has nothing to check, because CI runs it only on code files.
  • The docs writer gate (docs_gate.py --check) reports the same 14 findings before and after, all in body text this PR does not touch. The four P0 findings are false positives: the "TODO" they flag is the Portuguese phrase "TODO O RISCO".
  • linkcheck.py reports 0 unpaired namespaces among the changed files, down from 3. It also reports 23 broken links, all in the body of the pt-br previous-years changelog and all already on main. They point to old /produtos/ URLs, and the page is already on the broken-link list in MM-16193.
  • pnpm build:local passes with Node 26: 2,092 pages, and the frontmatter test passes. In the built HTML:
    • each of the three pairs lists its counterpart as hreflang alternate, in both directions. In production today, the pt-br April 26, 2023 page has no English alternate;
    • the language switcher's i18nPages on each of the six pages carries the counterpart URL, as it does on the March 3, 2023 pair used as a control;
    • the pt-br sidebar-trees.json links the three rows to the pt-br pages, where it used to fall back to /en/;
    • the pt-br sidebar row reads "Changelog de anos anteriores".
  • No permalink changed, so no redirect is needed. The site serves each page only at its own permalink.
  • Not verified: I read the built HTML but did not click through the pages in a browser. The linkcheck ratchet does not run locally under Node 26, so CI covers it.

Type of change

  • 🆕 New content (feat)
  • 🩹 Fix (fix) — typo, broken link, wrong information
  • ♻️ Content update (docs) — rewrite, expansion, upkeep
  • 🌐 Translation sync (i18n)
  • 🏗️ Platform / structure (refactor / chore) — reviewed by UXE, no content mixed in

Author checklist

  • PR title follows type(scope): summary (see GOVERNANCE.md §4)
  • Frontmatter complete: title, description, meta_tags, namespace, permalink, last_reviewed — none of these pages carries last_reviewed, and the pt-br April 26, 2023 terms have no meta_tags; the legal pages' missing meta_tags belong to MM-16262
  • No legacy "edge-" product names in the copy — the only copy change is one pt-br title; the dated legal texts are not edited
  • How-to/tutorial content includes at least one runnable, copy-paste-tested code block — no how-to or tutorial content changes
  • Screenshots (if any) have alt text and follow image standards — no screenshot is added or changed
  • Internal links are relative and resolve locally — no link is added or changed, but the pt-br previous-years changelog already has 23 broken links, tracked in MM-16193
  • If any permalink changed or page moved: redirect added in this PR — no permalink changed and no page moved
  • i18n: pt-br updated in this PR or follow-up i18n issue created: both languages are in this PR; the four legal pages in only one language need Legal, as noted in MM-16257
  • I ran pnpm build:local (build + frontmatter check) without errors

Three pt-br pages carried a namespace that differs from their English
version, so the language switcher, hreflang and the pt-br sidebar treated
them as untranslated:

- Changelog previous years: documentation_changelog_anos_anteriores
- Terms of Service, November 10, 2020: ..._10_november_2022 (typo)
- Terms of Service, March 30, 2023 (en) / April 26, 2023 (pt-br):
  corresponding revisions, published on a different date in each language

The pt-br side now uses the English namespace. The pt-br changelog page is
retitled "Changelog de anos anteriores" so its sidebar row is not a second
"Changelog". The two Runtime API pages that wrote `namespace: >-` keep the
value on one line, in both languages.

The slugcheck ratchet baseline drops from 6 to 3. The remaining
single-language pages are legal texts with no counterpart: the Marketplace
Agreement (en), the 25 November 2022 Terms of Service (pt-br) and the two
ANPD clause pages (pt-br).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants