mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-22 12:51:11 +00:00
* ci(ui): verify i18n catalogs locally * fix(ui): preserve scoped i18n sync errors * refactor(ui): share i18n raw-copy verifier * test(ui): cover i18n lint gate * fix(ui): route lint threads to oxlint
1.8 KiB
1.8 KiB
Control UI Guide
This directory owns Control UI-specific guidance that should not live in the repo root.
i18n Rules
- Foreign-language locale bundles in
ui/src/i18n/locales/*.tsare generated output. - Do not hand-edit non-English locale bundles or
ui/src/i18n/.i18n/*unless a targeted generated-output fix is explicitly requested. - The source of truth is
ui/src/i18n/locales/en.tsplus the generator/runtime wiring in:scripts/control-ui-i18n.tsui/src/i18n/lib/types.tsui/src/i18n/lib/registry.ts
- Contributor flow: update English strings and locale wiring, run keyless
pnpm ui:i18n:baseline, and commiten.tsplus changed baseline files. The command records intentional runtime fallbacks without rewriting foreign-language bundles. pnpm ui:i18n:verifyis deterministic and keyless.pnpm lintand the changed-check UI lane run it. It validates catalog shape, English-key coverage or explicit fallback listing, orphan keys, placeholder parity, canonical ordering, runtime locale wiring, and raw-copy baseline drift.- Translation flow: the
control-ui-locale-refreshworkflow translates after merge and opens a generated PR.pnpm ui:i18n:syncremains the authenticated maintainer path; do not run it without provider auth when new keys exist.pnpm ui:i18n:checkis the strict generated-output/release gate. - Prioritization report:
pnpm ui:i18n:report [--surface <name>] [--locale <locale>] [--top <n>]shows current hardcoded-copy focus areas and locale fallback metadata. It is not a drift gate; usepnpm ui:i18n:checkfor that. - If locale outputs drift, regenerate them. Do not manually translate or hand-maintain generated locale files by default.
Scope
- Keep UI-specific rules here.
- Leave repo-global architecture, verification, and git workflow rules in the root
AGENTS.md.