# V2 Locale Fallback Chain

This document defines locale fallback chain behavior for
`TODOS.phase-72.72.11.1.14`. Runtime lookup resolves a missing translation by
checking the requested locale first, then English, then the string ID.

## Resolution

`V2/ue/Tools/resolve-v2-locale-fallbacks.py` reads
`V2/ue/Content/Localization/V2/Fallback/LocaleFallbackChain_V2.json` and writes
`V2/ue/Content/Localization/V2/Fallback/LocaleFallbackResolutionMatrix_V2.json`.

Resolution stages:

- `requested-locale`: the target locale has a translated string.
- `source-locale`: the requested locale is missing, but English `.v2loc` has the
  string.
- `source-registry`: English `.v2loc` is missing, but the string ID registry has
  English source text.
- `string-id`: no translated or English source text is available, so the
  canonical string ID is shown.

Run the resolver after changing locale files, fallback chains, or registry
metadata:

```bash
python3 V2/ue/Tools/resolve-v2-locale-fallbacks.py
```

## Verification

Run this gate after changing fallback config, generated matrix, docs, or CI
wiring:

```bash
python3 V2/ue/Tools/check-v2-locale-fallback-chain.py
```

Required release gates:

- `localization-fallback-chain-contract`
- `localization-fallback-chain-config`
- `localization-fallback-chain-matrix`
- `localization-fallback-chain-source-locale`
- `localization-fallback-chain-string-id`
- `localization-fallback-chain-ci-wired`
