WORK-508
ID:WORK-508Status:ready

Localize programmatic (Zone 2) and enum-as-text (Zone 6) display values

Two smaller server-side surfaces: strings built in code (postTransform / plan render) and rune attribute values that double as visible display text.

Priority:mediumComplexity:moderateMilestone:v0.29.0Source:SPEC-035
claude/multi-language-support-spec-5zzt9q View source

Criteria completion

Criteria completion: 0 of 4 (0%) checked; tracking started on Jul 17, no incremental history yet0%25%50%75%100%Jul 17Jul 30

Tracking started Jul 17 — check back for trends.

Branches 2
claude/multi-language-support-spec-5zzt9q current ready
main doneclaude/milestone-v0-29-0-stzywk done
History 1
  1. d92ad0c
    Created (ready)by bjornolofandersson

Scope

  • Zone 2 — programmatic text: pass the LocaleContext into postTransform hooks and the plan render pipeline (plugins/plan/src/render.ts, commands/render-pipeline.ts). Re-audit the section/render model for remaining literals ("Total", "Per day", "Relationships", "Progress", "criteria") — the v1.0 KIND_LABELS/TYPE_LABELS no longer exist. Use resolvePluralString for count-bearing text (e.g. criteria counts).
  • Zone 6 — enum-as-text: when the capitalize transform applies to a metaText value, first check {scope}.{block}.{value} (e.g. core.hint.warning); if present, the translation replaces both the capitalize step and the raw value. Cover hint types, details fallback ("Details"), embed fallback ("Embedded content"), design typography weight names, design palette a11y badges, and docs-extract symbol group labels (both typescript.ts and python.ts).
  • Tests for both zones incl. one plural case.

Acceptance Criteria

  • Zone 2 programmatic/plan-render strings resolve through resolveLocaleString / resolvePluralString; the re-audit is complete.
  • Zone 6 enum display values resolve via {scope}.{block}.{value} keys, replacing the capitalize transform when a translation exists.
  • Docs-extract symbol labels are localized in both the TypeScript and Python extractors.
  • Zero-config English output unchanged.

Blocked by

  • WORK-503

References

  • SPEC-035 — Zones 2 & 6, Decision D2.