Internationalization
CodeBuddy ships with 7 language packs covering the chat UI, command names, setting descriptions, notifications, button labels.
Supported
Section titled “Supported”| 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 |
Switching
Section titled “Switching”Via UI: CoWorker Settings panel → select language. CodeBuddy will prompt to also change the editor’s display language for full coverage of right-click menus + command palette.
Via settings:
{ "codebuddy.language": "ja" }Takes effect immediately — translation bundle loads at runtime, no editor restart.
What gets translated
Section titled “What gets translated”Two-tier system:
Runtime strings (l10n)
Section titled “Runtime strings (l10n)”~75 strings per language:
- Error messages (“API key not configured”)
- Notifications + progress messages
- Button labels (Yes / No / Cancel / Refresh)
- Codebase analysis + vector DB messages
- News notifications (“Morning tech news arrived! ☕”)
Uses @vscode/l10n API with l10n.t("string key"). Bundles at l10n/bundle.l10n.{lang}.json.
Manifest strings (NLS)
Section titled “Manifest strings (NLS)”~46 keys per language:
- Extension title + description
- All command display names (~30+ commands)
- All setting descriptions
- View + panel names
Uses %key% placeholders in package.json, resolved from package.nls.{lang}.json.
Adding a language
Section titled “Adding a language”- Copy
l10n/bundle.l10n.en.json→l10n/bundle.l10n.{code}.json. - Copy
package.nls.en.json→package.nls.{code}.json. - Translate values; keep keys unchanged.
- Add the code to
codebuddy.languageenum inpackage.json.
PR flow: Contributing.