Skip to content

#15 i18n S3 — localize comments slice (+ relative-time rollout, DE/EN)#65

Merged
WolfTasks merged 6 commits into
mainfrom
worktree-i18n-s3-comments
Jul 15, 2026
Merged

#15 i18n S3 — localize comments slice (+ relative-time rollout, DE/EN)#65
WolfTasks merged 6 commits into
mainfrom
worktree-i18n-s3-comments

Conversation

@WolfTasks

Copy link
Copy Markdown
Owner

#15 i18n Full-Rollout — Session 3: comments slice

Localizes the issue Comments / Activity area into a new comments namespace (en/de) and performs the master-spec's relative-time rollout — the first real use of formatRelativeTime from format.ts.

Changes

  • New comments namespace (en/de, key-identical) + registered in src/i18n/index.ts (tabs.*, thread.*, feed.*, activity.*).
  • CommentsActivityTabs — tab labels localized (scanner-blind ternary; map var t renamed to tabKey to avoid shadowing the hook). Not allowlisted → no allowlist change.
  • CommentThread — all strings via t() incl. the scanner-blind delete confirm(); Save/Cancel/pagination-loading reuse common:*.
  • ActivityFeeddescribeActivity → in-component closure using interpolated activity.* keys ({{from}}/{{to}}); default: humanized-type fallback preserved.
  • Relative-time rollout — both hand-rolled formatTime helpers (toLocaleDateString + toLocaleTimeString) replaced by formatRelativeTime; no raw toLocale* remains. Timestamps now render relatively ("2 hours ago" / "vor 2 Stunden"), DE/EN via Intl.RelativeTimeFormat.
  • Allowlist: CommentThread.tsx + ActivityFeed.tsx removed (54 → 52).
  • Coverage matrix: S3 row flipped to ✅.

Verification

  • npm run test:i18n (17/17 scanner self-tests), npm run lint:i18n (scanner: 0 hardcoded strings, 52 allowlisted; en/de parity OK), npm run build (tsc + vite) — all green.
  • Subagent-driven: fresh implementer + task review per task; final whole-branch review (Opus) → Ready to merge, 0 Critical/Important. Two Minor items accepted (both by-design/pre-existing).

Follow-ups (not blocking)

  • Owed: manual DE/EN browser check of the comments/activity area (DoD Abschnitt 5.6).
  • Optional polish (future): title={formatDateTime(...)} tooltip to keep the absolute timestamp discoverable on hover.

Plan: docs/superpowers/plans/2026-07-15-i18n-s3-comments.md

🤖 Generated with Claude Code

Wolfgang Kozian and others added 6 commits July 15, 2026 17:35
nginx:alpine base drifted to Alpine 3.23 with curl/libcurl 8.19.0-r0 carrying
HIGH CVE-2026-5773 and CVE-2026-6276 (fixed 8.20.0-r0), tripping the Trivy
HIGH,CRITICAL gate in frontend-docker. Add curl to the existing apk upgrade
line (verified locally: 0 HIGH/CRITICAL OS vulns post-upgrade). Environmental
base-image fix, unrelated to the S3 i18n change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@WolfTasks
WolfTasks merged commit 73ba4a3 into main Jul 15, 2026
11 checks passed
@WolfTasks
WolfTasks deleted the worktree-i18n-s3-comments branch July 15, 2026 16:32
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