# REF-TASK-011 — Split locale resources by locale and namespace

**Status:** Implemented  
**Kind:** Mechanical production refactor  
**Depends on:** REF-TASK-008

## Problem and evidence

`frontend/src/app/i18n/resources.ts` is about 1,011 lines and contains all English and Swedish copy
in one nested literal. Every feature edit touches the same file, and matching keys across locales
are far apart. Existing `resource-parity` and `i18n-check` enforce the important invariant but do
not require one physical file.

## Proposed change

Split resources into locale files with matching, feature-oriented namespaces (shell/auth/products/
KDS/developer/shared), then compose the exact existing `translationResources` shape from a small
index. Preserve compile-time `TranslationKey` derivation and mechanical parity checks. Choose
namespace boundaries based on current ownership, not future product speculation.

## Constraints and sequence

First split by locale with values and keys unchanged; validate parity and snapshots. Then split both
locales by the same namespaces; validate again. Do not rewrite copy, rename translation keys, change
fallback behavior, or lazy-load locales in this task.

## Validation

Run i18n/resource-parity tests and `pnpm i18n:check` after each move, then the full frontend suite,
frontend build, accessibility tests that exercise Swedish copy, and `pnpm quality`.

## Guidance / ADR

REF-TASK-018 should document locale file/key ownership. No ADR.
