[Feature] Unified CLI i18n - locale JSON files (Desktop approach)
Feature Request: Unified i18n for Claude Code CLI
Background
Currently there are 5 scattered issues requesting i18n support:
| Issue | Language | Status |
|---|---|---|
| https://github.com/anthropics/claude-code/issues/65963 | Spanish | Open |
| https://github.com/anthropics/claude-code/issues/66637 | Portuguese (pt-BR) | Open |
| https://github.com/anthropics/claude-code/issues/68554 | General i18n | Open |
| https://github.com/anthropics/claude-code/issues/70244 | General i18n | Closed (duplicate) |
| https://github.com/anthropics/claude-code/issues/70487 | Chinese (zh-CN) | Open |
They are all the same underlying need: CLI UI string internationalization.
Problem
All CLI UI strings are hardcoded in the binary. Even with language: zh-CN in settings, status messages remain English.
Proposed Solution: Follow Claude Desktop
Claude Desktop already solved this using external JSON locale files (resources/locales/). The same approach can be ported to CLI with user-level locales at ~/.claude/locales/.
Implementation
- Extract strings: Move all user-facing strings to locale JSON files
- Runtime loading: CLI reads locale based on language setting
- Community contributions: Open format for translations
- Backward compatibility: Fall back to English when translation missing
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗