The catalog is extracted over every reader: this package, @hanzo/app
(the release hanzo.ai ships and main), hanzo.ai's pages, lib, hooks and
data after its language PRs, and the dists of @hanzo/ui and
@hanzogui/shell. 12,168 keys are new and 101 were pruned.
Arabic is Jais 3 on dgx (13,491 of 13,510: 19 protected names it would
not keep in Latin read English). French is halogen on evo, complete.
Every other locale ships partial, said per locale in review.json; the
offered ones stay offered and read English where they lack a key until
the runs reach them.
Testing: pnpm test (core 109, translate 30, validate 23, extract 30),
validate clean with every partial counted, test:browser passes,
verify-package.sh passes on the packed 4.8 MB tarball.
Risk: loadCatalog is now required; a host that relied on the bundled
default passes `bundled` from @hanzo/i18n/bundled.
How to revert: publish 0.6.1 from the 0.5.5 tree.
Claude-Session: https://claude.ai/code/session_015XYKLjZtDTJEnMo4eK3AFH