i18n Key Manager
A VS Code / Cursor extension to manage translation keys without manually editing JSON files.
Features
- Create and edit translation keys across all languages from a single panel
- Quick key selection from existing translations via searchable picker
- Add new languages dynamically — the extension creates the JSON file automatically
- Text selection support — highlight text in the editor and activate the command to use it as the key name
- Keyboard-first workflow — save with
Ctrl/Cmd+Enter, cancel with Escape
- Sorted output — keys are saved alphabetically in every locale file
Requirements
- VS Code
^1.85.0 or Cursor
Installation
From the Marketplace
- Open the Extensions panel (
Ctrl+Shift+X / Cmd+Shift+X)
- Search for i18n Key Manager
- Click Install
From VSIX
- Download
i18n-key-manager-0.0.1.vsix
- Run
Extensions: Install from VSIX... from the Command Palette
- Select the downloaded file
Configuration IMPORTANT
| Setting |
Type |
Default |
Description |
i18nManager.localesPath |
string |
"src/locales" |
Relative path to the locales directory from the workspace root |
Example (settings.json):
{
"i18nManager.localesPath": "src/i18n/locales"
}
Usage
Open the manager
| Platform |
Shortcut |
| Windows / Linux |
Ctrl+Shift+I |
| Mac |
Cmd+Shift+I |
Or right-click in the editor and select i18n: Gestionar key de traducción.

Create a new key
- Activate the command (highlight text first to pre-fill the key name)
- Select ✨ Create new key...

- Enter a key name — only alphanumeric characters, underscores, and dots are allowed

- Fill in the translations for each language in the webview panel
- Press
Ctrl/Cmd+Enter or click Guardar

Edit an existing key
- Activate the command
- Select the key from the list
- Edit the translations in the webview panel
- Save or cancel
Add a new language
- Activate the command
- Select 🌐 Add new language file...
- Enter the language code (e.g.
fr, pt-BR)
- An empty JSON file is created in the locales directory
Files are flat JSON objects stored as {lang-code}.json inside the configured locales directory.
{
"HOME_TITLE": "Home",
"HOME_DESCRIPTION": "Welcome to the app"
}
License
MIT — see LICENSE
| |