---
name: cmux Localization
slug: cmux-localization
category: Writing
description: cmux Localization defines hard rules and an audit checklist for localizing every user-facing string in cmux, including UI, Settings, menus, docs, and web messages. Use it whenever changing user-facing text to ensure all locales are covered and no bare English slips through.
github: "https://github.com/manaflow-ai/cmux/tree/main/skills/cmux-localization"
language: Swift
stars: 26034
forks: 2205
install: "npx degit https://github.com/manaflow-ai/cmux/tree/main/skills/cmux-localization ~/.claude/skills/cmux-localization"
installs_to: ~/.claude/skills/cmux-localization
source_path: skills/cmux-localization/SKILL.md
collection_size: 20
category_size: 1012
collection_url: "https://dirskills.com/collections/manaflow-ai/cmux"
added: 2026-08-14T07:12:07.023Z
last_synced: 2026-08-14T07:12:07.023Z
canonical_url: "https://dirskills.com/skills/cmux-localization"
---

# cmux Localization

cmux Localization defines hard rules and an audit checklist for localizing every user-facing string in cmux, including UI, Settings, menus, docs, and web messages. Use it whenever changing user-facing text to ensure all locales are covered and no bare English slips through.

**Install:**

```bash
npx degit https://github.com/manaflow-ai/cmux/tree/main/skills/cmux-localization ~/.claude/skills/cmux-localization
```

## README

# 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` translated for every supported language (currently English and Japanese).
- `defaultValue`, English fallback text, schema descriptions, and copied English strings do not count as localization.
- 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 entries for every supported locale.
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 in the final handoff what audit was performed, or explicitly say what could not be verified.

## Detailed reference

- [references/audit-workflow.md](references/audit-workflow.md): what counts as user-facing, search patterns, and handoff wording.

New keyboard shortcuts also need docs and Settings entries; see [../cmux-keyboard-shortcuts/SKILL.md](../cmux-keyboard-shortcuts/SKILL.md).
