DevLingo
DevLingo is a VS Code extension that translates code comments, selected text and Markdown documentation directly inside the editor. It helps you read unfamiliar comments and produce translated documentation while keeping code and Markdown syntax intact. It supports OpenAI, DeepL and Google Cloud Translation through a Bring Your Own Key (BYOK) model. Choose a provider, configure your own API key, and start translating from native VS Code menus. DevLingo v1.0.0 is the first stable release. Install it from a trusted VSIX package. VS Code Marketplace publication is the next distribution step. Quick Start
DeepL is the default provider, French is the default target, and comment translation is enabled by default. Every provider requires your own key. InstallationInstall from VSIXUse a trusted
Alternatively, open VS Code → Extensions → … → Install from VSIX… and select the file. To replace a previous local build, add DevLingo is not yet published to the VS Code Marketplace. Marketplace publication is the next distribution step. FeaturesTranslate comments on hoverOpen a supported source file and hover a comment:
DevLingo detects the comment, extracts its text and translates it through the selected provider. The result appears in the native VS Code hover UI, with DevLingo and the target language in the heading. The source code remains unchanged. Empty comments are ignored.
Supported language IDs are Detection uses a conservative lexical scan rather than a complete language parser. Report missed or incorrectly detected comments with a minimal example through GitHub Issues. Translate selected text
The source document is unchanged. This action has its own language picker; it does not change the saved default target language. Save the result if you want to keep it. You can also right-click a selection and choose DevLingo: Translate Selection, or run that command from the Command Palette. Translate Markdown filesOpen a saved local Markdown file, choose your default target language, then run DevLingo: Translate Markdown File from the command center, editor context menu or Command Palette.
DevLingo reads the current editor content, translates prose and writes a new file in the same folder. It adds the target language code before the original extension:
DevLingo does not overwrite the original Markdown file. A progress notification names the source, and the translated document opens on success. If the output already exists, choose Replace or Cancel. Unsaved output documents must be saved or closed before replacement. Untitled documents must be saved first. Markdown file translation currently supports local
Markdown PreservationTranslate content, preserve structure. DevLingo translates prose fragments and replaces only their original source ranges; it does not rebuild or reformat the entire document.
For example, given this input:
A conceptual French translation is:
The inline command Prose is translated in fragments around markup and line boundaries, so providers may have less context than when translating a complete paragraph. HTML content and image alt text are not translated. An unclosed HTML tag can conservatively protect the remainder of the document. Arbitrary frontmatter formats, MDX and every custom Markdown dialect are not guaranteed. Put identifiers that must remain literal in inline code and review output for your renderer. See Markdown behavior and limitations for details. DevLingo Command CenterThe globe icon in the editor title toolbar opens a native VS Code QuickPick command center. It displays the current provider, target language and comment translation state.
All commands are also available in the Command Palette. Selection and Markdown actions have editor context-menu entries. DevLingo: Remove Provider API Key is available in the Command Palette and asks for confirmation before deleting a saved key. Translation Providers
Open DevLingo → Translation Provider to switch. Changes take effect without reloading VS Code, and translation caches are renewed when the provider or credentials change. DevLingo does not automatically switch providers after a failure.
OpenAIUses the OpenAI API through the official SDK and Responses API. Configure an OpenAI API key for an API account with access to the extension's configured model. There is no ChatGPT sign-in flow or model picker in v1.0.0. See provider implementation details. DeepLUses the official DeepL SDK. Configure your DeepL API key; the SDK selects the endpoint appropriate to the key. English output uses US English. DeepL is DevLingo's default provider. Google Cloud TranslationUses Cloud Translation Basic v2 through the official Google Cloud SDK. Configure a Google Cloud API key with the required API access, key restrictions and project billing/quota. Advanced v3 and service-account authentication are not supported. Provider account access, billing, quotas and service availability are managed by the provider. Provider documentation covers implementation and how to add another provider. Bring Your Own KeyBYOK means Bring Your Own Key. You use an API key from your chosen provider. DevLingo does not sell translation credits, proxy requests through a DevLingo backend or bundle provider credentials. Translation requests go directly to the selected provider. Configure an API key
Saving a key does not select its provider or validate it remotely. Provider and credential changes take effect without reloading. If a key is missing, DevLingo offers Configure or Later. Configure opens the selected provider's masked input directly; Later keeps the provider selected without translating. SecretStorage and securityProvider API keys are stored using VS Code SecretStorage. They are not written to repository files, Never commit credentials or include them in public issues, screenshots or logs. Revoke exposed keys with their provider. See SECURITY.md for credential handling and vulnerability reporting. Target LanguageOpen DevLingo → Target Language and choose:
The saved target is reused for comment hover and Markdown translation. Translate Selection asks for a language for each invocation, using the same supported language list. Source language is automatically detected in normal UI workflows; there is no source-language setting or picker in v1.0.0. Comment Translation ToggleOpen DevLingo → Comment Translation to toggle hover translation. Its description displays Enabled or Disabled. The change takes effect immediately. Selection and Markdown commands remain available when hover translation is disabled. SettingsOpen DevLingo → DevLingo Settings, or search for DevLingo in VS Code settings.
API keys are configured through commands, never these settings. DemoThe four screenshots above are real installed-extension captures. Comment and Markdown results were translated through DeepL into French. No GIF is bundled. See the demo script for the complete workflow and recording instructions. TroubleshootingProvider requires an API keyChoose Configure in the notification, or open DevLingo → Configure Provider API Key and configure the selected provider. Each provider has a separate saved key. Saving another provider's key does not satisfy the current provider. Invalid API keyCheck that the key belongs to the selected provider and has not expired or been revoked. Check provider-specific permissions and restrictions. Regenerate it in the provider account if needed, then save it again through DevLingo's masked input. Translation provider quota reachedCheck your provider account's billing, available credits and API quota. DevLingo cannot increase them. Exhausted credits/quota require a provider account change; a temporary rate limit may resolve after waiting and retrying. Markdown output file already existsChoose Replace to overwrite the translated output or Cancel to keep it. The original Markdown file is preserved. Save or close an unsaved translated output before replacement. Comment translation does not appearCheck that Comment Translation is enabled, the correct provider is selected and its key is configured. Hover a non-empty comment in a supported language and syntax. Check network/provider availability. Hover failures remain quiet; try Translate Selection to see an actionable provider error. Provider unavailableCheck your network, the provider's API service and account configuration. For Google Cloud, verify Cloud Translation Basic v2 is enabled and the API key restrictions allow it. If the provider setting contains an unsupported value, select OpenAI, DeepL or Google Cloud Translation explicitly. If the problem persists, open a GitHub issue with your VS Code/DevLingo versions, provider name and a minimal non-sensitive reproduction. Never include an API key. PrivacyDevLingo sends the content needed for translation directly to the selected external provider:
Target-language information and provider-specific request instructions/options accompany the text. DevLingo does not scan or send the whole workspace. Hover and Markdown translations use bounded in-memory caches; they are not persisted. Markdown output is saved only as the requested translated file. Review your provider's data policies before translating sensitive content. DevLingo does not make promises about an external provider's retention policy. See SECURITY.md. DevelopmentRequirements: Git, Node.js 22, npm and Visual Studio Code 1.140.0 or later.
Open the repository in VS Code, press F5, and select Run Extension to launch an Extension Development Host. Tests use offline fixtures and injected clients, without real API keys. See development and packaging for headless Linux testing and VSIX validation. The development/test mock is a deterministic fixture used by offline tests. See mock providers for development and testing; it is not selectable in the installed extension. Project structure
Technical documentation
ContributingContributions are welcome: bug fixes, translation providers, language support, Markdown edge cases, documentation, UX improvements and tests. Start with CONTRIBUTING.md and follow the code of conduct. AuthorConnect with Andrix Ngoyi: SupportUse GitHub Issues for reproducible bugs and feature requests. For vulnerabilities, follow the private reporting guidance in SECURITY.md. LicenseDevLingo is licensed under the MIT License. |



