Skip to content

#15 i18n S6 — localize sprints slice (sprints ns, DE/EN)#68

Merged
WolfTasks merged 6 commits into
mainfrom
worktree-i18n-s6-sprints
Jul 17, 2026
Merged

#15 i18n S6 — localize sprints slice (sprints ns, DE/EN)#68
WolfTasks merged 6 commits into
mainfrom
worktree-i18n-s6-sprints

Conversation

@WolfTasks

Copy link
Copy Markdown
Owner

Summary

Session 6 of the #15 i18n full rollout: localizes the sprint slice — SprintsPage, SprintCard, SprintHeader, CreateSprintForm, CompleteSprintDialog — into a new sprints namespace (en/de). This slice also cleans up the pre-existing mixed DE/EN hardcoded strings.

  • New sprints namespace (nested section/empty/form/complete keys) registered in i18n/index.ts, en/de key-identical (parity-checked)
  • Replaced hardcoded German section titles (Laufend/Geplant/Abgeschlossen, passed as scanner-blind renderSection args) and empty hints with t()
  • i18next plural keys for counts: daysRemaining_one/_other, complete.warning_one/_other — no fragment concatenation, no day{s}/issue{s} ternary hacks
  • CompleteSprintDialog bold-count warning uses a single <Trans> element mapping <0>…</0> → yellow <span> (markup + plural without glued fragments)
  • SprintCard date range now via format.ts formatDate (locale-aware) instead of raw toLocaleDateString; en-dash and / stay literal glyphs
  • Shared completeSprint key reused by header button + dialog confirm; common:loading/common:cancel reused
  • Generated default sprint name (useState(\Sprint ${Date.now()}`…)`) left out of scope
  • All 5 files removed from frontend/scripts/i18n-allowlist.json (50 → 45)
  • S6 coverage-matrix row flipped to ✅

Verification

Full slice gate green: scanner self-tests 17/17, i18n-scan: OK — 0 hardcoded strings (45 allowlisted), i18n-parity: OK, tsc && vite build successful. Whole-branch review (opus) merge-ready, 0 Critical/Important; one Minor German closing-quote typo () found in review and fixed in this branch.

Owed: Wolfgang's manual DE/EN browser check — Sprints page (title, section headings, empty hints), sprint cards (points line + date range), board sprint header (Complete Sprint, 1-day singular, points), create-sprint form (labels/Create/Cancel), complete-sprint dialog (title, yellow bold-count warning singular/plural + all-done, Cancel, Complete/Completing).

🤖 Generated with Claude Code

@WolfTasks
WolfTasks merged commit 97d866d into main Jul 17, 2026
11 checks passed
@WolfTasks
WolfTasks deleted the worktree-i18n-s6-sprints branch July 17, 2026 15:56
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