i18n Doctor is a VS Code extension for catching real translation problems directly inside your editor.
It scans JSON locale files and highlights issues that are easy to ship by accident in frontend projects: missing keys, empty values, placeholder mismatches, and extra keys that drift away from the base locale.
What it does
Detects missing translation keys compared with a reference locale.
Detects empty string translations.
Detects placeholder mismatches such as {name} vs {username}.
Detects extra keys that exist in a target locale but not in the base locale.
Publishes diagnostics to the Problems panel.
Prints a scan summary to the i18n Doctor output channel.
Offers quick fixes to add missing keys and fill empty values from the reference locale.
Quick start
Open a workspace that contains locale JSON files.
Run i18n Doctor: Scan Workspace from the Command Palette.
Review issues in the Problems panel or directly inside each locale file.
Apply quick fixes where available.
Supported file patterns
By default, i18n Doctor scans common locale folder layouts such as:
**/{locales,i18n,lang,languages}/**/*.json
**/{en,es,fr,de,it,pt,ca}.json
This works well for simple setups like locales/en.json and also for namespace-based files such as common.en.json.
Configuration
i18nDoctor.defaultLocale: locale code used as the source of truth. Default: en.
i18nDoctor.localeGlobs: glob patterns used to discover locale JSON files.
Current scope
This first version is intentionally focused on JSON locale validation inside VS Code. It does not yet scan source code for unused keys, export reports, or provide a side panel summary.
Roadmap
Detect unused keys by scanning code usage.
Add a side panel summary by locale and namespace.
Support more placeholder styles and advanced workspace layouts.