# Chanora Localization Architecture

**Document status:** DV meeting baseline candidate  
**Date:** 2026-05-29

## 1. Implementation Source

Localization is enabled through Flutter generation in `apps/chanora_flutter/pubspec.yaml` and generated files under `apps/chanora_flutter/lib/l10n/generated/`.

## 2. Architecture Rules

| Rule | Requirement |
|---|---|
| Product strings | User-visible product-owned strings should be localizable |
| Server content | Server names, channel names, nicknames, and messages are displayed as content, not translated |
| Unicode | UTF-8/Unicode content must be preserved through protocol, bridge, state, UI, logs, and diagnostics unless intentionally redacted |
| Fallback | Missing localization keys must have deterministic fallback behavior |
| Diagnostics | Machine-readable diagnostic keys remain language-neutral |

## 3. Current Locale Baseline

English and Simplified Chinese generated localization files are present in the current Flutter app tree.

## 4. Ownership and Coverage Criteria

| Criterion | Required result |
|---|---|
| Product-owned strings | New user-visible product strings are added to localization resources or explicitly justified as non-product content |
| Server-owned content | Server names, channel names, nicknames, and chat messages pass through untranslated |
| Fallback behavior | Missing-key behavior is deterministic and covered by test or generated-localization behavior review |
| Unicode preservation | Multilingual content is preserved across protocol, bridge, state, UI, logs, and diagnostics except where redaction intentionally removes content |
| Diagnostic keys | Machine-readable diagnostic keys remain stable and language-neutral |

## 5. Evidence Required Before Release

| Evidence | Purpose |
|---|---|
| Localization generation check | Confirms generated bindings are current |
| UI smoke in supported locales | Confirms critical screens render in English and Simplified Chinese |
| Unicode content test or demo | Confirms server-provided multilingual content is preserved |

## 6. DV Conclusion

Localization architecture is documented and reviewable. Additional locale expansion remains outside current release scope.
