docs(34-08): complete German translation gap closure plan summary

- 58 missing German keys added across 5 de/*.json files
- 19/19 i18n parity tests pass
- 1 deviation: fixed JSON syntax error from smart quotes
This commit is contained in:
2026-04-18 13:29:38 +02:00
parent 23172f794f
commit f4e93bf554

View File

@@ -0,0 +1,107 @@
---
phase: 34-i18n-foundation
plan: "08"
subsystem: i18n
tags: [i18n, german, locale, gap-closure]
dependency_graph:
requires: [34-06, 34-07]
provides: [german-locale-parity]
affects: [src/client/locales/de]
tech_stack:
added: []
patterns: [json-locale-files, i18n-key-parity]
key_files:
created: []
modified:
- src/client/locales/de/common.json
- src/client/locales/de/settings.json
- src/client/locales/de/threads.json
- src/client/locales/de/setups.json
- src/client/locales/de/collection.json
decisions:
- Used single quotes instead of German-style „ „ curly quotes in dangerZoneDescription to avoid JSON syntax errors
metrics:
duration: ~8 minutes
completed: 2026-04-18
tasks_completed: 1
tasks_total: 1
files_modified: 5
---
# Phase 34 Plan 08: German Translation Gap Closure Summary
**One-liner:** Added 58 missing German translation keys across 5 de/*.json locale files to achieve full key parity with English, fixing fallback display for home, profile, threads, setups, and collection sections.
## Objective
Close the German translation gap identified in VERIFICATION.md — plans 34-06/34-07 wired useTranslation into routes and fixed umlaut encoding, but never added corresponding German translations for the new English keys.
## Tasks Completed
| Task | Name | Commit | Files |
|------|------|--------|-------|
| 1 | Add 58 missing German translations to 5 de/*.json files | 23172f7 | de/common.json, de/settings.json, de/threads.json, de/setups.json, de/collection.json |
## Key Changes
### de/common.json — 34 keys added
- `home.*` (3 keys): popularSetups, recentlyAdded, trendingCategories
- `imageUpload.*` (4 keys): clickToAdd, invalidType, tooLarge, uploadFailed
- `profile.*` (27 keys): full profile management section including account info, password management, danger zone
### de/settings.json — 4 keys added
- `currency.suggestion`: currency region suggestion with `{{symbol}}` and `{{code}}` interpolation
- `currency.switch`: switch button label
- `showConversions.title` + `showConversions.description`: price conversion toggle
### de/threads.json — 11 keys added
- `card.candidates` + `card.candidates_one`: pluralized candidate count with `{{count}}` interpolation
- `planning.*` (9 keys): full planning section with step-by-step guidance
### de/setups.json — 3 keys added
- `card.by`: attributed author with `{{name}}` interpolation
- `card.anonymous`: anonymous attribution
- `impact.compareWith`: setup comparison prompt
### de/collection.json — 6 keys added
- `tabs.setups`: setups tab label
- `totals.totalWeight` + `totals.totalCost`: totals bar labels
- `classificationBadge.base` + `classificationBadge.worn` + `classificationBadge.consumable`: classification badge labels
## Verification
```
bun test tests/i18n/locales.test.ts
19 pass, 0 fail (previously 14 pass, 5 fail)
```
ASCII umlaut fallback check: 0 matches (no regressions).
## Deviations from Plan
### Auto-fixed Issues
**1. [Rule 1 - Bug] Fixed JSON syntax error from smart quotes in dangerZoneDescription**
- **Found during:** Task 1 — test run revealed `SyntaxError: JSON Parse error: Expected '}'`
- **Issue:** The German translation for `dangerZoneDescription` used German-style curly double-quotes `„Gelöschter Benutzer"` — the closing `"` (U+201C) was parsed by the JSON parser as the string-closing delimiter, causing a syntax error at line 115
- **Fix:** Replaced curly quotes with straight single quotes: `'Gelöschter Benutzer'`
- **Files modified:** src/client/locales/de/common.json
- **Commit:** 23172f7
## Known Stubs
None — all translation keys have real German text values, no placeholders.
## Threat Flags
None — plan modifies static bundled locale JSON files only. No network endpoints, auth paths, or schema changes introduced.
## Self-Check: PASSED
- [x] src/client/locales/de/common.json — exists and valid JSON
- [x] src/client/locales/de/settings.json — exists and valid JSON
- [x] src/client/locales/de/threads.json — exists and valid JSON
- [x] src/client/locales/de/setups.json — exists and valid JSON
- [x] src/client/locales/de/collection.json — exists and valid JSON
- [x] Commit 23172f7 exists
- [x] bun test tests/i18n/locales.test.ts: 19 pass, 0 fail