Community language pack for Cursor — it translates the editor workbench and the Cursor strings that live in Code OSS's NLS files (composer, agents, aiSettings, and related modules).
English · 简体中文
中文用户请看 简体中文说明。安装前请先卸载其他语言包,装完选显示语言后重启 Cursor。
The project is built to hold any number of languages. Today it ships Simplified Chinese
and Traditional Chinese. Eleven more locales are already declared in config.json and
waiting for someone to fill them in; see Adding a language.
- Uninstall any other language pack first. This pack replaces the official VS Code one — why. Two packs installed together give you a UI that is translated differently after each restart.
- Install the pack:
- from a GitHub Release
.vsix— Command Palette → Extensions: Install from VSIX… - VS Marketplace listing is not published yet
- from a GitHub Release
- Command Palette → Language Pack: Select Display Language → pick a language → restart.
On Windows, do not double-click the .vsix; Visual Studio may claim the file type. Install it
from the Command Palette instead.
Any of these work, and none of them require reinstalling — every bundled language is already on disk:
- Command Palette → Language Pack: Select Display Language
- Settings →
cursorLanguagePack.language(auto,zh-cn,zh-tw,en) - The built-in Configure Display Language command
Picking en returns the whole UI to English while the pack stays installed. All three write
the locale field in argv.json and nothing else. The display language is a launch argument,
so Cursor has to be restarted, not just reloaded.
| Locale | Status |
|---|---|
zh-cn 简体中文 |
Shipped — workbench 99.8% plus all 1621 Cursor-specific core keys (100%) |
zh-tw 繁體中文 |
Shipped — same surface, Taiwan-oriented terminology |
ja ko fr de es it ru pt-br tr pl cs |
Declared in config.json, enabled: false, no translations yet |
One extension declares every enabled locale; Cursor loads the one matching locale in
argv.json, and any key without a translation falls back to English.
- Set
enabled: truefor your locale inconfig.json. If microsoft/vscode-loc has no pack for it, setupstreamPackDir: null: the workbench stays English and only the Cursor strings get translated. - Add
src/i18n/<locale>/— glossary first, then the translation files. npm run build && npm run validate && npm run coverage.
Step-by-step: CONTRIBUTING.md.
Still English, because Cursor has not externalized these strings — a language pack cannot reach them:
- Cursor Settings
- the Agent / Chat overlay (the React chrome around the conversation)
- account / marketplace overlay chrome
Please do not file translation issues for those surfaces here.
The UI language does not change what language the AI answers in.
Reconciled against Cursor 3.16.17 (Code OSS 1.128.0) — see
target.verifiedCursorVersions in config.json. Other builds generally work; strings Cursor
adds later fall back to English until someone runs npm run check-upgrade and translates the
additions.
Node.js 18.17 or newer. No compile step.
npm install
npm run detect # find the local Cursor install
npm run extract # snapshot its localizable strings
npm run sync # download the vscode-loc workbench baseline
npm run verify # build + validate + coverage
npm run package # dist/cursor-language-pack-<version>.vsix
npm run check-upgrade # after a Cursor update: what changed, what needs translatingPipeline and layout are copied from
kiro-language-pack, with Cursor paths and
a VS Marketplace-first publish target (Cursor's gallery is marketplace.cursorapi.com, not
Open VSX).
Docs: architecture · contributing · publishing · all documents
MIT. Workbench strings are derived from the MIT-licensed microsoft/vscode-loc; see NOTICE.
A community project. Not affiliated with, endorsed by, or supported by Anysphere or Microsoft.