cmux-localizationlisted
Install: claude install-skill manaflow-ai/cmux
# cmux Localization
Use this skill for any user-facing string change.
## Hard rules
- Every user-facing string is localized. Never a bare string literal in SwiftUI `Text()`, `Button()`, alert titles, tooltips, menus, or dialogs.
- Swift/AppKit/SwiftUI: `String(localized: "key.name", defaultValue: "English text")`, with keys in `Resources/Localizable.xcstrings`. Feature PRs add the key and English source value; translations for every supported language are completed in the release PR.
- `defaultValue`, English fallback text, schema descriptions, and copied English strings do not count as localization. They are acceptable in feature PRs only when the release workflow tracks the key for translation.
- Localized web/docs content updates every supported message catalog (currently `web/messages/en.json` and `web/messages/ja.json`) plus any localized data structures carrying inline translations.
- A localization audit is required for every user-facing change.
## Audit checklist
Before finishing a task that changes UI, Settings rows, menus, shortcut metadata, schema/config text, docs, command/help text, alerts, or tooltips:
1. Enumerate the changed user-facing surfaces.
2. Verify each surface has a catalog key in the feature PR. Verify translated values for every supported locale in the release PR.
3. Parse the touched localization files and compare changed message keys across locales.
4. Run `rg` over changed Swift/TS/TSX/docs files for newly introduced bare English.
5. State