# Draft: l10n(pipeline): refresh English source into the pt-BR line, second pass [DOC-6059]

## 1. What this is

Second English refresh, 25 commits on from the first. It picks up two things that
matter to the translation:

- **!1442** ("Adding Crypto Wallets"): 5 new in-scope pages, 2 deleted.
- **!1463**: the English standardized on **"payment rail"**; "payout rail" is retired.
- Branch: `l10n/pt-br/english-refresh-2`, based on `l10n/pt-br/bootstrap` at `99cfca35d`.
- Target: `l10n/pt-br/bootstrap`. Neither merges to the default branch.
- No English is modified here. No Portuguese is modified here.


## 2. Scope of this MR

A merge and nothing else. 158 files change, 28 of them in scope; the rest is other
teams' work. Verified conflict-free with `git merge-tree` **before** merging.

**Cheap because the ancestry is intact.** !1460 restored the merge base that !1455's
squash discarded, so this is 158 files rather than the 3,527 it would otherwise have been.

Not in this MR: no manifest regeneration, no translation, no termbase change, no config.

## 3. Files changed

| Set | Count |
|  --- | --- |
| Total touched by the merge | 158 |
| In scope (`@v2026.03`) | 28 |
| Under `.l10n-sync/` or `@l10n/` | **0** (only this description file) |


## 4. English source reference

Merged `origin/main-enterprise-product-docs` at `6a50648a3` into `99cfca35d`.

## 5. Mirrored-OpenAPI render check

n/a. The spec is out of scope as of !1459.

## 6. Structural preservation

n/a. No file under `@l10n/pt-BR/` is touched.

## 7. Terminology and termbase

No termbase change here, but this refresh is what makes the pending one necessary. The
Portuguese currently carries `payout rail` in 37 places against English that now says
`payment rail`, and the termbase carries `payout rail` as a DNT entry that no longer
matches any English text. Both are fixed in the resync, not here.

## 8. Reviewer attention items (CLAUDE.md §3)

1. **DO NOT SQUASH.** The payload is a merge. Squashing collapses it to one parent,
discards `6a50648a3` from the ancestry, and puts the next refresh back to re-applying
everything from July. That already happened once, on !1455, and !1460 was the repair.
After merging, `git rev-list --count l10n/pt-br/bootstrap..origin/main-enterprise-product-docs`
should read **0**, not 25.
2. **The manifest is deliberately NOT regenerated.** Regenerating would recompute hashes
against the new English and erase the staleness signal this refresh exists to produce.
3. **9 REMOVED sections are expected and benign.** See §13.


## 9. English-screenshot gap log

n/a for this MR. Note that !1442 added 5 `user-interface` pages, which is where the
unanswered screenshot question with Raji lands.

## 10. Source defects found (CLAUDE.md §9)

None introduced. Two pre-existing issues were found while verifying link integrity for
!1463 and are reported there rather than here: 7 fragment links pointing at
`#the-originators-account-number` that the pipeline's slugifier resolves as
`the-originator-s-account-number`, and a missing relative link target in
`user-interface/payments.md`.

## 11. Config changes

None.

## 12. Translation memory

`tm.jsonl` unchanged, 396 records. No harvest.

## 13. Pipeline / manifest

`selftest.mjs`: **all checks passed.**

`generate-manifest.mjs --check`: **24 stale, 9 removed.** That reconciles exactly:

| Group | Count | What it is |
|  --- | --- | --- |
| Renamed subtree | 9 | `validating-identities-for-specific-payout-rails/*` became `...payment-rails/*`. The 9 REMOVED entries are the same sections under their old IDs |
| Already known | 11 | The 12 from the first refresh, minus `supported-values`, which is inside the renamed subtree |
| New from !1463 | 4 | `payment-identities`, `contact-details-and-identification`, `contact-details-and-registration`, `corridor-specific-and-rail-specific-requirements` |


**Nothing is orphaned.** The 9 removed IDs are a heading rename, which
`CLAUDE.md`-adjacent behaviour reads as remove-plus-add rather than a modification. The
sections still exist under new IDs and their Portuguese is intact.

**All 13 sections attributable to !1463 are term-only changes**, verified mechanically
rather than assumed: each old section's text, with `payout rail`/`payout-rail` normalized
to `payment rail`/`payment-rail`, is byte-identical to its new counterpart. That means the
Portuguese side of those 13 is a mechanical sweep, not a re-translation.

## 14. Review gate

Do not self-approve, mark ready, merge, or resolve discussions. This is a source refresh
rather than Portuguese, so it does not need native review to be judged correct.

## 15. Open items and human calls

1. The resync (!1462) is open and based on pre-refresh `bootstrap`. It needs to catch up
to this refresh and absorb the `payment rail` sweep before it lands, otherwise it
resyncs against English that has since moved.
2. `_@v2026.04` still carries `payout rail` in 9 files and `@v2025.11` in 1. Out of scope
for localization per `CLAUDE.md` §1, but the split will be inherited when 2026.04 ships.