Designed to supercharge your internationalization (i18n) workflow. Integrates directly into your editor to help you navigate, manage, and use translation keys faster. Helps you boost your productivity and avoid errors.
Get real-time suggestions for translation keys while typing inside your translation function calls.
How it works:
- Start typing
t("ort('in a.jsx,.tsx,.vue, or supported file - i18n-boost will list all available keys from your locale files
- Suggestions filter automatically as you type
Navigate directly from a translation key in your code to its definition in your locale file.
How it works:
- Hold
Ctrl(orCmdon Mac) and click a key int('...') - The editor opens your default locale file at the correct line
Scans your codebase to find translation keys that are defined but never used. Just like the no-unused-vars rule in ESLint, but for i18n keys!
How it works:
- Open your locale file (e.g.,
en.json). - Will automatically highlight unused keys.
- In-sync with your code, updating as you edit.
Effortlessly copy the full nested key path of any translation value in your locale file.
How it works:
- Open your locale file (e.g.,
en.json) - Right-click on a value
- Select "Copy Full Translation Key" — done!
On the first run, i18n-boost will prompt you to create a i18nboost.config.json file in your workspace root.
| Configuration Option | Description | Possible Values | Default Value |
|---|---|---|---|
localesPath |
Path to translation files folder (relative to workspace root) | Any valid relative path string | 'src/i18n' |
defaultLocale |
Default locale to navigate to on Ctrl+Click | Must be one of your supportedLocales |
'en' |
supportedLocales |
All locales supported in your project | Array of locale codes (strings) | ['en', 'ar', 'fr', 'es', 'de'] |
functionNames |
Function names that indicate translation keys | Array of function name strings | ['t', 'translate', '$t', 'i18n.t'] |
fileNamingPattern |
Pattern for locale file naming | 'locale.json', 'locale/common.json', 'locale/index.json' |
'locale.json' |
enabled |
Enable/disable extension features | true or false |
true |
- Open Extensions in VS Code (
Ctrl+Shift+X) - Search for
I18n Boost - Click Install
- Download the latest
.vsixfile from Releases - Open VS Code
- Go to Extensions → ... → Install from VSIX
- Select the downloaded
.vsixfile
-
Clone this repository:
git clone https://github.com/mrgwd/i18n-boost.git cd i18n-boost -
Install dependencies:
npm install
-
Compile:
npm run compile
-
Press
F5in VS Code to launch the extension in a new Extension Development Host window.
After installation, i18n-boost will automatically prompt you to create a configuration file. You can also manually create one:
- Open Command Palette (
Ctrl+Shift+P) - Run
I18n Boost: Create config file - Configure your project settings in the generated
i18nBoost.config.tsfile
- Check your configuration: Ensure
i18nBoost.config.tsexists and is properly configured - Verify file paths: Make sure
localesPathpoints to your translation files - Check file naming: Ensure your locale files match the
fileNamingPatternsetting - Restart VS Code: Sometimes a restart is needed after configuration changes
- Verify function names: Check that your translation function names are in the
functionNamesarray - Check file types: Ensure you're working in supported file types (
.js,.ts,.jsx,.tsx,.vue,.svelte) - Trigger manually: Try typing
t("and thenCtrl+Spaceto trigger suggestions
- Check default locale: Ensure your
defaultLocalefile exists - Verify key exists: Make sure the translation key exists in your default locale file
- Check function names: Ensure the function name matches your configuration
- Wait for scan: The extension scans your codebase when files are saved
- Check file patterns: Ensure your code files match the supported patterns
- Verify function names: Make sure your translation function calls use the configured function names
i18n-boost/
│
├── package.json # Extension metadata & activation
├── tsconfig.json # TypeScript configuration
├── README.md # This file
├── CHANGELOG.md # Release notes
├── src/
│ ├── extension.ts # Entry point
│ ├── commands/ # Command implementations
│ ├── providers/ # Hover, completion, definition providers
│ ├── types/ # Type definitions
│ ├── utils/ # Utility functions
│ └── images/ # Icons and images
└── tests/ # Unit tests
PRs are welcome! Please check the Contributing Guide for details.
I18n Boost respects your privacy:
- No data collection: The extension does not collect, store, or transmit any personal data
- Local processing only: All translation key analysis happens locally in your VS Code instance
- No telemetry: No usage statistics or analytics are collected
- Open source: The entire codebase is open source and auditable
The extension only reads your project files to provide i18n functionality and does not communicate with external servers.
This project is licensed under the MIT License — see the LICENSE file for details.



