Skip to content

tools: bilingual translation pipeline (glossary + verify gate + status) - #2

Merged
dlgrv merged 1 commit into
mainfrom
tools/pipeline
Sep 18, 2026
Merged

dlgrv merged 1 commit into
mainfrom
tools/pipeline

Conversation

@dlgrv

@dlgrv dlgrv commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Bilingual (CN→RU/EN) pipeline tooling extracted from the translation work:

  • glossary.json — verified terminology (each term grep-checked against book/*.md, RU+EN equivalents taken from existing translations) + style rules for both languages; make_digest.py now injects per-unit gloss files.
  • verify.py — pre-commit integrity gate: structure counters, byte-identical sources (with declared retrofit allowance), scale-aware number comparison (万/亿/千 ↔ тыс/млн/млрд), CJK-zone rules, banned-calque and plain-terms jargon checks. Currently 53/62 chapter-language pairs pass.
  • status.py — wave dashboard across both language tracks.

Tools are language-neutral (RU/EN selected via --lang flag); no chapter content changes in this PR.

- glossary.json: verified CN terms with fixed RU+EN equivalents + style rules
  for both languages; make_digest.py injects per-unit gloss files (NN.gloss.md)
- verify.py: integrity gate (headings/tags/field labels/sources byte-identity,
  scale-aware number comparison 万/亿/千 ↔ тыс/млн/млрд, CJK zone rules,
  banned-calque and plain-terms jargon checks); writes .status markers
- status.py: per-chapter wave dashboard for both language tracks
- .gitignore: exclude transient digest/.status state
@dlgrv
dlgrv merged commit 2ad4ab3 into main Sep 18, 2026
@dlgrv
dlgrv deleted the tools/pipeline branch September 18, 2026 14:08
dlgrv added a commit that referenced this pull request Sep 18, 2026
- glossary.json: verified CN terms with fixed RU+EN equivalents + style rules
  for both languages; make_digest.py injects per-unit gloss files (NN.gloss.md)
- verify.py: integrity gate (headings/tags/field labels/sources byte-identity,
  scale-aware number comparison 万/亿/千 ↔ тыс/млн/млрд, CJK zone rules,
  banned-calque and plain-terms jargon checks); writes .status markers
- status.py: per-chapter wave dashboard for both language tracks
- .gitignore: exclude transient digest/.status state

Co-authored-by: dlgrv <dlgrv@users.noreply.github.com>
dlgrv added a commit that referenced this pull request Sep 21, 2026
Major:
- long source URLs (60% of 1049) overflowed viewport at 390px and
  were unreachable by scroll: .src .body gets overflow-wrap:anywhere
  (same treatment .human/.rows .v already had) - now 0/1049 overflow

Minors:
- gray hierarchy: --faint #6f6f6f collapsed into --mut #666666
  (dE 3.6, r1/r2 badges indistinguishable) -> #767676: AA 4.54:1,
  dE vs mut restored to ~6.4
- tap targets the 40px pass missed: .src summary 19 -> 39px,
  .reset 19 -> 40px, .toggle 27 -> 36px, header title hit-area 34px
  (padding+negative margin, visual positions unchanged)

Verified at 390px: 0 overflow links (was 628), no h-scroll, taps OK;
1440px: 6 sizes intact, 0 overflow

Co-authored-by: dlgrv <dlgrv@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant