Files
tessera-ctl/.planning/quick/260701-abc-i18n-missing-keys/260701-abc-PLAN.md
T
schalli f6173bbe35
Tessera CI/CD / Lint & Type Check (push) Successful in 45s
Tessera CI/CD / Tests (push) Has been cancelled
Tessera CI/CD / Build & Publish Images (push) Has been cancelled
docs(quick-260701-abc): fix i18n missing keys — summary and state update
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 12:06:32 +02:00

2.9 KiB

quick_id, slug, date, status
quick_id slug date status
260701-abc i18n-missing-keys 2026-07-01 in-progress

Quick Task: Fix i18n Missing Keys

Goal

Fix two i18n bugs found during UAT:

  1. marketplace.accessDenied missing from both de.json and en.json
  2. calendar-source-form.tsx uses hardcoded English strings instead of translations

Tasks

T-01: Add marketplace.accessDenied to de.json

Add "accessDenied": "Zugriff verweigert" to the marketplace section in de.json.

File: apps/web/src/messages/de.json Location: After "detailStatusInactive" (line ~448), before closing }

T-02: Add marketplace.accessDenied to en.json

Add "accessDenied": "Access denied" to the marketplace section in en.json.

File: apps/web/src/messages/en.json Location: Same position as de.json

T-03: Add calendar form translation keys to de.json

Add to widgets.calendar section in de.json:

"formFieldName": "Name",
"formFieldType": "Typ",
"formFieldUrl": "URL",
"formFieldUsername": "Benutzername",
"formFieldPassword": "Passwort",
"formFieldColor": "Farbe",
"formFieldExchangeMode": "Exchange-Modus",
"formSave": "Speichern",
"formSaving": "Wird gespeichert...",
"formCancel": "Abbrechen",
"formUrlErrorHttps": "URL muss HTTPS verwenden",
"formUrlErrorInvalid": "Ungültiges URL-Format"

T-04: Add calendar form translation keys to en.json

Add to widgets.calendar section in en.json:

"formFieldName": "Name",
"formFieldType": "Type",
"formFieldUrl": "URL",
"formFieldUsername": "Username",
"formFieldPassword": "Password",
"formFieldColor": "Color",
"formFieldExchangeMode": "Exchange Mode",
"formSave": "Save",
"formSaving": "Saving...",
"formCancel": "Cancel",
"formUrlErrorHttps": "URL must use HTTPS protocol",
"formUrlErrorInvalid": "Invalid URL format"

T-05: Fix calendar-source-form.tsx

Replace all hardcoded English strings with t() calls. Remove hack on line 298.

File: apps/web/src/components/settings/calendar-source-form.tsx

Changes:

  • "Name *" → \${t('calendar.formFieldName')} *``
  • "Type *" → \${t('calendar.formFieldType')} *``
  • "URL *" → \${t('calendar.formFieldUrl')} *``
  • "Username" → t('calendar.formFieldUsername')
  • "Password" → t('calendar.formFieldPassword')
  • "Color" → t('calendar.formFieldColor')
  • "Exchange Mode" → t('calendar.formFieldExchangeMode')
  • 'Saving...' → t('calendar.formSaving')
  • 'Save' → t('calendar.formSave')
  • Cancel button hack → t('calendar.formCancel')
  • 'URL must use HTTPS protocol' → t('calendar.formUrlErrorHttps')
  • 'Invalid URL format' → t('calendar.formUrlErrorInvalid')

Must Haves

  • marketplace.accessDenied present in de.json and en.json marketplace sections
  • All 12 formField* / form* keys present in widgets.calendar for both locales
  • No hardcoded English strings in calendar-source-form.tsx
  • Hack on line 298 removed
  • No TypeScript errors introduced