See and edit every translation for every locale in one table — no TMS required.
What it does
Polly scans your workspace for locale folders (e.g. locales/en/translation.json,
locales/fr/translation.json) and shows them as a single spreadsheet-like view:
one row per key, one column per detected language. Missing translations are
highlighted in red, empty strings in amber, so gaps are obvious at a glance.
Edit any cell directly — changes are written straight back to the right
locale's JSON file.
Add a new key (dot notation supported, e.g. auth.login.title) and Polly
creates it across every locale automatically.
Works with any framework that stores translations as per-locale JSON —
React, Vue, Angular, or otherwise.
Getting started
Click the Polly icon in the activity bar, or run Polly: Open Translation
Table from the command palette.
If Polly finds more than one locale folder in your workspace, pick which
one to open. If it finds none, you'll be asked to pick the folder
yourself.
Configuration
Setting
Default
Description
polly.rootPath
(auto-detect)
Explicit path to the locale root folder, relative to the workspace.
polly.fileName
translation.json
JSON file name expected inside each locale folder.
polly.localePattern
^[a-z]{2}(-[A-Z]{2})?$
Regex a folder name must match to be treated as a locale.
v1 scope
Polly v1 focuses on reading/editing locale JSON files and adding new keys.
Scanning source code for translation-key usage, deleting keys, and
add/remove of entire locale columns are planned for a later version.
Development
npm install
npm run build # bundle extension + webview
npm run test:unit # unit tests (flatten, scanner, file writer, message handler)
npm run test:integration # VS Code integration smoke test
Press F5 in VS Code to launch the Extension Development Host.