Skip to content

feat(i18n): complete native translations for every Docsy locale - #39

Merged
Vonng merged 3 commits into
mainfrom
codex/docsy-i18n-complete
Sep 3, 2026
Merged

feat(i18n): complete native translations for every Docsy locale#39
Vonng merged 3 commits into
mainfrom
codex/docsy-i18n-complete

Conversation

@Vonng

@Vonng Vonng commented Sep 2, 2026

Copy link
Copy Markdown
Member

Closes #38.

What changed

  • Completes native OINK UI text for every locale filename shipped by google/docsy@64f51c5bde2abd2e8a001cb31b32656f5800ca56: 31 Docsy-compatible catalogs plus OINK's generic zh alias, 32 catalogs total.
  • Keeps the English authority at 192 keys and removes generated English fallback blocks from the 28 previously incomplete non-English catalogs.
  • Preserves runtime placeholders exactly, keeps generic zh identical to zh-cn, and keeps Serbian Latin exactly transliterated from Serbian Cyrillic.
  • Removes the fallback-producing bin/check-i18n.py --sync path.
  • Makes the owning checker enforce the exact locale set, supported scalar forms and inline comments, key and placeholder parity, hidden-bidi exclusion, distinct callout labels, reviewed English-identical terms, Simplified Chinese alias parity, Serbian script parity, and an all-locale Hugo render that compares every placeholder-free rendered value.
  • Documents the Hugo 0.160.x requirement for non-default generic zh beside the regional Chinese catalogs: use locale: zh-CN; bare zh works in this configuration from Hugo 0.161.

Adversarial review

Claude Code Fable 5 at xhigh effort reviewed the implementation in three passes. The first pass found a real Hugo 0.160.1 incompatibility, translation errors, and checker gaps. After those fixes, an independent review found two more checker holes involving YAML inline comments and HTML entity encoding; both were reproduced, fixed, mutation-tested, and included in the final Fable pass. Final verdict: PASS, with no P0/P1/P2 finding remaining.

Verification

  • python3 bin/check-i18n.py: 32 locales × 192 keys.
  • The same checker passes with Hugo Extended 0.160.1, 0.161.0, and 0.165.0.
  • Adversarial probes reject missing, extra, duplicate and nested keys; fallback markers; braced, printf, and Go-template placeholder drift; unreviewed English copies including all three inline-comment styles; hidden bidi controls; callout collisions; and Serbian transliteration drift.
  • Legal apostrophes, quoted #, ampersands, and HTML entity round trips pass the runtime comparison.
  • hugo --source tests/site --printPathWarnings --printI18nWarnings --panicOnWarning.
  • Sibling documentation site with a local module replacement:
    • full npm test;
    • Playwright: 29 WCAG + 45 responsive/palette + 16 keyboard + 10 content + 18 code-block + 4 PRD5 + 5 theme-colour = 127 tests.

Integration and release state

The maintainer explicitly promoted this exact green head to main on 2026-09-03. Source integration is not a published module release: if #37 proceeds, its v1.0.1 tag must remain bound to the already frozen 9a0c0bd patch candidate. These locale catalogs belong to a later minor release.

@Vonng
Vonng marked this pull request as ready for review September 3, 2026 05:14
@Vonng
Vonng merged commit 59c3745 into main Sep 3, 2026
3 checks passed
@Vonng
Vonng deleted the codex/docsy-i18n-complete branch September 3, 2026 05:16
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.

Complete native UI translations for every Docsy locale

1 participant