CodeBuddy is fully translatable and ships with 7 language packs. Translations cover the chat UI, command names, setting descriptions, notifications, and button labels.
Supported languages
Sección titulada «Supported languages»| Code | Language | Status |
|---|---|---|
en | English | Default |
es | Spanish | Full |
fr | French | Full |
de | German | Full |
zh-cn | Chinese (Simplified) | Full |
ja | Japanese | Full |
yo | Yoruba | Full |
How to switch languages
Sección titulada «How to switch languages»From the CodeBuddy UI
Sección titulada «From the CodeBuddy UI»Open the CoWorker Settings panel and select your language. CodeBuddy will prompt you to also change the editor’s display language for complete translation of right-click menus and command palette entries.
From editor settings
Sección titulada «From editor settings»{ "codebuddy.language": "ja"}The change takes effect immediately — the translation bundle is loaded at runtime without restarting the editor.
What gets translated
Sección titulada «What gets translated»CodeBuddy uses a two-tier translation system:
Runtime strings (l10n)
Sección titulada «Runtime strings (l10n)»~75 strings per language, covering:
- Error messages (“API key not configured”)
- Notifications and progress messages
- Button labels (Yes / No / Cancel / Refresh)
- Codebase analysis and vector DB messages
- News notifications (“Morning tech news arrived! ☕”)
These use the @vscode/l10n API with l10n.t("string key") calls throughout the codebase. Translation bundles are stored at l10n/bundle.l10n.{lang}.json.
Manifest strings (NLS)
Sección titulada «Manifest strings (NLS)»~46 keys per language, covering:
- Extension title and description
- All command display names (~30+ commands)
- All setting descriptions
- View and panel names
These use %key% placeholders in package.json, resolved from package.nls.{lang}.json files.
Adding a new language
Sección titulada «Adding a new language»To contribute a new language translation:
- Copy
l10n/bundle.l10n.en.jsontol10n/bundle.l10n.{code}.json - Copy
package.nls.en.jsontopackage.nls.{code}.json - Translate all string values (keep the keys unchanged)
- Add the language code to the
codebuddy.languageenum inpackage.json
See the Contributing Guide for how to submit a pull request.