---
status: diagnosed
phase: 34-i18n-foundation
source: [34-01-PLAN.md, 34-02-PLAN.md, 34-03-PLAN.md, 34-04-PLAN.md, 34-05-PLAN.md]
started: 2026-04-17T00:00:00.000Z
updated: 2026-04-17T00:00:00.000Z
---

## Current Test
<!-- OVERWRITE each test - shows where we are -->

[testing complete]

## Tests

### 1. App loads with i18n — no errors
expected: Start the dev server fresh (bun run dev). Open the app in the browser. The app loads without console errors related to i18n, missing translation keys, or failed namespace loads. All visible text renders normally (no [object Object] or raw key strings like "common.save").
result: pass

### 2. UI strings are translated (not hardcoded)
expected: Browse around the app — collection page, a thread, setups. All UI chrome text (buttons, labels, headings, empty states) renders in English. No raw strings like "items.title" or untranslated placeholders visible anywhere.
result: pass

### 3. Language picker exists in Settings
expected: Open Settings page. There is a language / language picker section. It shows the current language (English). The picker lists at least English and Deutsch (German) as options.
result: pass

### 4. Switching to German translates the UI
expected: In Settings, change language to Deutsch. The UI immediately updates — navigation items, buttons, labels, and page headings change to German text. No full page reload required.
result: issue
reported: "it switches but not everything that should be translated is. Settings page is translated, but auto detect currency isn't. Profile isn't translated. On the home page nothing is translated, only the app bar at the top. The detail page isn't, the whole collection and setups pages aren't. Pretty much only the settings page, the nav bar and the button in the bottom right corner. Also not using ä/ö/ü — using ae instead."
severity: major

### 5. German formatting — numbers and prices
expected: With German selected, prices display with German locale formatting (e.g. "1.234,56 €" with period as thousands separator, comma as decimal, € symbol). Weight values also use comma as decimal separator where applicable.
result: pass

### 6. Switch back to English
expected: In Settings, change language back to English. The UI reverts to English text and English number/price formatting (e.g. "$1,234.56"). Change is immediate, no reload.
result: pass

### 7. Language preference persists on reload
expected: Set the language to Deutsch. Reload the page (F5 / hard refresh). The app remembers the language selection and loads in German without requiring the user to switch again.
result: pass

## Summary

total: 7
passed: 6
issues: 1
pending: 0
skipped: 0

## Gaps

- truth: "Switching to German should translate all UI text across all pages — collection, setups, item detail, home page, profile, settings including currency section"
  status: failed
  reason: "User reported: only settings page, nav bar, and bottom-right button are translated. Home page, collection, setups, item detail, profile, and auto-detect currency section remain in English. Also German special characters (ä/ö/ü) are not used — ae is used instead."
  severity: major
  test: 4
  artifacts: []
  missing: []
