Skip to content

Internationalization

CodeBuddy is fully translatable and ships with 7 language packs. Translations cover the chat UI, command names, setting descriptions, notifications, and button labels.

CodeLanguageStatus
enEnglishDefault
esSpanishFull
frFrenchFull
deGermanFull
zh-cnChinese (Simplified)Full
jaJapaneseFull
yoYorubaFull

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.

{
"codebuddy.language": "ja"
}

The change takes effect immediately — the translation bundle is loaded at runtime without restarting the editor.

CodeBuddy uses a two-tier translation system:

~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.

~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.

To contribute a new language translation:

  1. Copy l10n/bundle.l10n.en.json to l10n/bundle.l10n.{code}.json
  2. Copy package.nls.en.json to package.nls.{code}.json
  3. Translate all string values (keep the keys unchanged)
  4. Add the language code to the codebuddy.language enum in package.json

See the Contributing Guide for how to submit a pull request.