feat(i18n): key translation pairing records by heading section (#5036)

* feat(i18n): key translation pairing records by heading section

Replace the whole-file blob hashes in *.i18n.yaml with one entry per
heading section that still holds language-specific content, keyed by the
English heading-slug path. Blocks identical across the pair (generated
table rows, code blocks, shared regions) stay out of the hash, so edits to
different sections and identical regenerations merge with Git's default
text merge, including on GitHub.

Remove the dsh-translation-pairing merge driver, its resolver command and
installer wiring; gen-translation-brief recovers last-confirmed text from
commit history. Migrate all active records, archive the superseded Agent
Note, and record the replayed conflict reduction in the new one.

* test(i18n): refresh translation prompt snapshot for the terminology note

* feat(i18n): exclude only code blocks and generated regions from pairing records

Replace byte-equality masking with an explicit rule: a record hash skips
fenced code blocks and BEGIN/END GENERATED regions, the two kinds of
content the pairing gate already requires to be identical on both sides.

Move generated data into regions written into both pages:
gen-config-catalog renders both languages and the record with per-package
regions labelled by code identifiers; gen-module-graph keeps its table in a
region; gen-doc-graphs splices the event matrix regions into the Chinese
page. Add a generic region splice beside the region grammar.
This commit is contained in:
Turtle authored and GitHub committed 2026-09-23 22:32:06 +08:00
1 parent d9ff18ec2a
commit e7def469e1
1154 files changed
+48932 -8951

No files matched your search

+18 -5
View File
@@ -1,6 +1,19 @@
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# Bilingual-pair consistency record for SAFETY.md (docs/i18n/README.md): per heading
# section, a hash of its English and Chinese blocks outside code blocks and generated regions.
# After editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write SAFETY.md
SAFETY.md: 2b76f00e0619ee69553afdc507df361080f4d3ac
SAFETY.zh.md: 6f7dae47b3e47ddfb155adb9c8c868b516d75360
/safety:
en: a374f70c56b3f221
zh: a07f7a9ba9af40fc
/safety/experimental-status:
en: 39a995a6c819f73e
zh: e577df19392736ac
/safety/sandbox-limitations:
en: a2b6cf1311f3abb6
zh: c3694663312f4d6c
/safety/responsible-use:
en: ca3e9da7c0b360fe
zh: c0a6891a197d48cd
/safety/no-warranty-or-liability:
en: 71a2989f530f2018
zh: e90e55f11068a91f