Feature request: i18n support for the top 10 most-spoken languages
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
## Summary
Add internationalization (i18n) support to GitHub Copilot CLI so the UI (menus, prompts, status messages, errors, help text) can be displayed in the user''s preferred language. As a first milestone, ship localizations for the **top 10 most-spoken languages in the world**.
## Motivation
Today the Copilot CLI interface is English-only. Developers whose first language is not English have to mentally translate every prompt, status line, and error message, which adds friction and lowers adoption in large developer communities outside the English-speaking world.
Localizing the UI would:
- Lower the barrier to entry for millions of developers globally.
- Improve readability and reduce cognitive load when scanning status output, prompts, and errors.
- Align Copilot CLI with other GitHub products that already offer localized experiences.
## Proposed Solution
1. Introduce an i18n layer (message catalogs / JSON or `.po` locale files) for all user-facing strings.
2. Detect the user''s locale from environment variables (`LANG`, `LC_ALL`) and/or an explicit config option:
- CLI flag: `copilot --lang zh-CN`
- Config: `language: zh-CN` in the user config file
3. Ship the **top 10 most-spoken languages** (by total number of speakers) as the initial set of locales, with English as the fallback:
1. English (`en`)
2. Mandarin Chinese (`zh-CN`)
3. Hindi (`hi`)
4. Spanish (`es`)
5. Modern Standard Arabic (`ar`)
6. French (`fr`)
7. Bengali (`bn`)
8. Portuguese (`pt`)
9. Russian (`ru`)
10. Urdu (`ur`)
4. Open the translation files to community contributions so additional languages (zh-TW, ja, ko, de, id, vi, …) can be added over time.
## Scope
- **In scope:** static UI strings — prompts, menus, buttons, status indicators, spinners, error messages, `--help` text, onboarding flows.
- **Out of scope:** LLM-generated content (model responses). That is already controlled by the user''s prompt language.
## Alternatives Considered
- Asking the assistant to reply in another language works for chat responses, but the surrounding CLI chrome (menus, prompts, errors, help) stays English — an inconsistent and confusing experience.
## Additional Context
Happy to help contribute the initial zh-CN translation once the i18n infrastructure is in place, and to help coordinate community translators for the other 9 languages.
Contributor guide
Research direction
No repository files, tests, or entry points are named. Start by locating the CLI's user-facing strings, configuration handling, and help output, then assess how LANG, LC_ALL, --lang, and the language config option could connect to locale files. Done means static UI text supports the ten listed locales with English fallback, while generated model responses remain out of scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli, internationalization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100