
Cmux Localization
- 2.5k installs
- 25.6k repo stars
- Updated August 5, 2026
- manaflow-ai/cmux
cmux-localization is a Claude Code skill that adds and maintains cmux UI strings, locale files, RTL considerations, and translation keys without breaking shared components.
About
cmux-localization is a manaflow-ai cmux skill for internationalizing cmux UI component libraries. The skill guides adding translation keys, locale resource files, RTL layout adjustments, and string maintenance patterns that keep shared components stable across languages. Developers reach for cmux-localization when extending a cmux-based frontend to new locales or fixing i18n regressions in reusable widgets. It focuses on cmux-specific conventions for key naming, locale file structure, and right-to-left UI behavior rather than generic i18next tutorials. Use during feature work when new screens need localized copy or when RTL markets require layout verification on shared cmux primitives.
- Locale file conventions
- Key naming and plural rules
- RTL and layout safety checks
- Translation workflow for cmux
Cmux Localization by the numbers
- 2,487 all-time installs (skills.sh)
- +299 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #203 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/manaflow-ai/cmux --skill cmux-localizationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2.5k |
|---|---|
| repo stars | ★ 25.6k |
| Last updated | August 5, 2026 |
| Repository | manaflow-ai/cmux ↗ |
How do you localize cmux UI components and locale files?
Add and maintain cmux UI strings, locale files, RTL considerations, and translation keys without breaking shared components.
Who is it for?
Frontend developers working on cmux component libraries who need i18n keys, locale files, and RTL support without breaking shared widgets.
Skip if: Non-cmux React apps, backend-only translation services, or CMS content localization unrelated to cmux UI code.
When should I use this skill?
A developer asks to localize cmux components, add translation keys, create locale files, or fix RTL issues in cmux UI.
What you get
cmux locale files, translation keys, RTL layout updates, and maintained shared component string catalogs.
- locale files
- translation key map
Files
cmux Localization
Use this skill for any user-facing string change.
Hard rules
- All user-facing strings must be localized.
- Use
String(localized: "key.name", defaultValue: "English text")for Swift/AppKit/SwiftUI strings. - Keys go in
Resources/Localizable.xcstringswith translations for all supported languages, currently English and Japanese. - Never use bare string literals in SwiftUI
Text(),Button(), alert titles, tooltips, menus, or dialogs. - Localization audit is required for every user-facing change.
defaultValue, English fallback text, schema descriptions, or copied English strings do not count as localization.- For localized web/docs content, update every supported message catalog, currently
web/messages/en.jsonandweb/messages/ja.json, plus any localized data structures carrying inline translations.
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 touched localization files. 4. Compare changed message keys across locales. 5. Use rg over changed Swift/TS/TSX/docs files for newly introduced bare English. 6. State the localization audit in the final handoff, or explicitly say what could not be verified.
Related shortcut rule
Every new cmux-owned keyboard shortcut must be added to KeyboardShortcutSettings, visible/editable in Settings, supported in ~/.config/cmux/cmux.json, and documented in the keyboard shortcut and configuration docs.
Detailed reference
- Read references/audit-workflow.md for a deeper audit process, common false positives, and examples of surfaces that count as user-facing.
interface:
display_name: "cmux Localization"
short_description: "Localize and audit every cmux user-facing string change."
default_prompt: "Use this skill whenever changing cmux UI text, settings labels, menu items, shortcut metadata, schema/config text, docs, command/help output, alerts, tooltips, or web messages."
Localization Audit Workflow
This reference expands the localization rules for cmux.
What counts as user-facing
Treat text as user-facing if it can appear in:
- SwiftUI views
- AppKit menus and dialogs
- alerts and confirmation sheets
- tooltips and accessibility labels
- Settings rows and descriptions
- command palette entries
- keyboard shortcut metadata
- CLI help or command output
- JSON schema descriptions shown in docs or editors
- docs pages
- web UI
- generated configuration examples shown to users
Internal debug-only labels may still deserve localization if they are visible in the Debug menu or a debug window used by contributors.
Swift and AppKit
Use:
String(localized: "key.name", defaultValue: "English text")Update Resources/Localizable.xcstrings for all supported languages. Currently that means English and Japanese.
Do not rely on defaultValue as the English localization. It is a fallback and development convenience, not a completed localization entry.
Web and docs
For localized web/docs content, update:
web/messages/en.jsonweb/messages/ja.json- any localized data structures with inline translations
Keep keys aligned across locales. A key added only to English is incomplete even if the UI falls back at runtime.
Bare English search
After changing Swift, TS, TSX, or docs files, search the changed files for newly introduced user-facing English. Useful patterns include:
git diff --name-only -- '*.swift' '*.ts' '*.tsx' '*.md'
rg 'Text\\("[A-Z][^"]+"' -- '*.swift'
rg 'Button\\("[A-Z][^"]+"' -- '*.swift'
rg 'tooltip|alert|title|description|label' -- '*.swift' '*.ts' '*.tsx'These searches are not proof by themselves. They are prompts to inspect likely user-facing strings.
Final handoff
Every UI/text-affecting final handoff should state:
- which surfaces changed
- which localization files were updated
- which audit commands or manual checks were run
- anything that could not be verified
If no user-facing strings changed, say that clearly.
Related skills
FAQ
What does cmux-localization configure?
cmux-localization configures cmux UI strings, locale files, translation keys, and RTL considerations so shared cmux components support multiple languages safely.
Is cmux-localization for any React project?
cmux-localization targets manaflow-ai cmux component libraries specifically, not generic React i18n setups outside the cmux ecosystem.