Internationalization
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
Section titled “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
Section titled “How to switch languages”From the CodeBuddy UI
Section titled “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
Section titled “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
Section titled “What gets translated”CodeBuddy uses a two-tier translation system:
Runtime strings (l10n)
Section titled “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)
Section titled “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
Section titled “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.