Skip to content

fix(i18n): add missing translation keys and remove orphans (#1306)#1308

Merged
steilerDev merged 2 commits into
betafrom
fix/1306-i18n-coverage
Apr 19, 2026
Merged

fix(i18n): add missing translation keys and remove orphans (#1306)#1308
steilerDev merged 2 commits into
betafrom
fix/1306-i18n-coverage

Conversation

@steilerDev
Copy link
Copy Markdown
Owner

Summary

  • Adds 10 Tier-1 keys missing from both en and de locales, 9 Tier-2 keys missing from en only, and 1 Tier-3 de key across the budget, diary, householdItems, schedule, settings, and workItems namespaces
  • Removes 3 orphaned keys no longer referenced in production code (2 from de, 1 from en)
  • Hardens the translator agent definition with a Full Coverage Audit protocol to prevent recurrence

Fixes #1306

Note: After this PR, the audit tool will still show 2 missing_in_de and 7 missing_everywhere entries — these are pre-existing gaps introduced by the Budget Sources feature on beta HEAD and are out of scope for this fix. They should be tracked as a follow-up issue.

Test plan

  • Quality Gates pass (typecheck, unit tests, build)
  • No test regressions — no source logic changed, only translation JSON files
  • i18n audit tool shows missing_in_en=0 and missing_in_de=0 for the keys in scope for this fix

🤖 Generated with Claude Code

…lator audit protocol

Fixes 10 Tier-1 keys missing from both en and de locales, 9 Tier-2 keys
missing from en only, 1 Tier-3 de key, and removes 3 orphaned keys no
longer referenced in code. Affected namespaces: budget, diary,
householdItems, schedule, settings, workItems (en); budget, dashboard,
diary, householdItems, schedule, settings (de). Also adds a Full Coverage
Audit protocol section to the translator agent definition to prevent
recurrence of these gaps.

Fixes #1306

Co-Authored-By: Claude dev-team-lead (Sonnet 4.6) <noreply@anthropic.com>
Co-Authored-By: Claude frontend-developer (Haiku 4.5) <noreply@anthropic.com>
Co-Authored-By: Claude translator (Sonnet 4.5) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Thank you for your submission! We require all contributors to sign our Contributor License Agreement before we can accept your contribution.

To sign, please comment on this PR with:
I have read the CLA Document and I hereby sign the CLA


I have read the CLA Document and I hereby sign the CLA


Frank Steiler seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

…r edits

The previous commit accidentally reverted PR #1302's rename of
`overview.costBreakdown.area.unassigned` from "Unassigned" back to "No Area".
This caused 30+ CostBreakdownTable tests to fail on CI. Restoring the beta value.

Co-Authored-By: Claude frontend-developer (Haiku 4.5) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Owner Author

@steilerDev steilerDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[product-architect] APPROVE (posted as comment — cannot self-approve own PR)

Architecturally sound. Scope is limited to i18n dictionary JSON and translator agent notes — no namespace restructuring, no key renames that cross feature boundaries, no API/schema touchpoints.

Reviewed:

  • Namespace placement of new keys is consistent with existing conventions (budget.invoices.*, dashboard.cards.budgetSummary.*, schedule.milestones.detail.*, settings.*, diary.*, householdItems.*). Nothing leaks across features.
  • Key naming follows the established camelCase dotted-path pattern (e.g., subsidiesOversubscribed, inspectionOutcomeRequired, contactAdded/Updated/Deleted).
  • Orphan deletions (budget.vendors.tableHeaders.actions, budget.form.buttons.delete, householdItems.table.headers.room) are internal cleanup and don't affect contract shapes elsewhere.
  • overview.costBreakdown.area.unassigned regression fix is a straight restore — good catch.
  • EN/DE parity restored for the Area feature (Tier-2) — no architectural concern; Area is the structured dimension per ADR-028 and these keys belong in their respective feature namespaces.

No concerns. Pre-existing E2E failures on beta (Budget Sources) are unrelated to this PR.

@steilerDev steilerDev merged commit 7dc31f0 into beta Apr 19, 2026
28 of 34 checks passed
@steilerDev steilerDev deleted the fix/1306-i18n-coverage branch April 19, 2026 20:06
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant