WORK-511
ID:WORK-511Status:ready

Cross-adapter lang attribute (Zone 8) + Intl number/duration/currency formatting

Two small correctness follow-ups that ride on the locale field.

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

Criteria completion

Criteria completion: 0 of 3 (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 8 — document lang: each adapter's page shell (html, astro, nuxt, next, eleventy, sveltekit) sets lang={config.locale ?? 'en'}. Audit all six adapters (SPEC-030, SPEC-058); add a shared helper if it reduces drift.
  • Number / duration / currency formatting: the duration transform consults Intl.DurationFormat (or a polyfill) for locale output; budget amounts use Intl.NumberFormat(config.locale); currency uses Intl.NumberFormat style: 'currency', replacing the manual BUDGET_CURRENCY_SYMBOLS lookup.
  • Tests: a non-English locale sets lang on every adapter's shell and formats a duration/number/currency per locale.

Acceptance Criteria

  • All six adapter page shells emit lang from config.locale, defaulting to en.
  • Duration, number, and currency formatting are locale-aware via Intl.
  • Zero-config (en) output is unchanged.

Blocked by

  • WORK-502

References

  • SPEC-035 — Zone 8, Number and Duration Formatting.