772fbc645c
docs/subagents carried 16 isZh branches and docs/mcp 18; both are now zero. Two dictionaries per page under web/lib/i18n/dictionaries/, wired through types.ts and index.ts, and both files added to check-locales.mjs's OPTIONAL_FILES so zh is held to key and token parity while the other sixteen locales fall back to English exactly as the ternaries did. The role identifiers and their order stay in the page; the dictionary keys each row by role name and carries only the prose. docs/mcp's h1 is the literal MCP in every locale, so it stays in the page too, which is why the key-parity test now takes an explicit probe key instead of assuming overviewTitle. Rendered output is unchanged across all 36 pages (18 locales x 2). Signed-off-by: Lstarsky0 <59827030+Lstarsky0@users.noreply.github.com>