Transglot for VS Code
See translations beside your source keys, find missing values, and keep localization files in sync with Transglot.
Features
- Inline translations: CodeLens and hover for JSON flat, JSON nested, Laravel JSON and Flutter ARB files.
- Missing values: diagnostics in the Problems panel for those JSON-family formats.
- Edit translations: update a key’s value for a selected locale.
- AI translation: start batches for missing, stale or all keys, with optional target locales.
- Push and pull: synchronize files using the same
transglot.json configuration as the CLI.
- Project sidebar: inspect your project, configured locales and active batches.
Push, pull and AI translation support the server’s 20 localization formats. Inline annotations and diagnostics support only the four JSON-family formats above.
Supported format identifiers: json_flat, json_nested, android_xml,
ios_strings, ios_stringsdict, flutter_arb, laravel_php, laravel_json,
xliff_12, ios_xcstrings, gettext_po, yaml, csv, xlsx, xliff_20,
java_properties, resx, markdown, unity_csv, unreal_po.
Requirements and pricing
The extension has no separate purchase price. Connecting to the hosted service requires a Transglot account, a project and a project access token on a paid plan (Starter or above). AI translation uses your workspace word allowance and billing settings. Check current pricing.
Setup
Mint a token. In the transglot web app, open your project's deploy/setup
page and create a project access token (it starts with tgl_). Grant the
abilities the extension uses: pull for file pulls, push for source uploads,
read for inline translations, write for edits, and manage for AI batches.
Missing abilities are handled gracefully: the extension tells you
which one a feature needs.
Sign in. Run transglot: Sign in / set token and paste the token. It is
stored in VS Code SecretStorage (the OS keychain), never in settings.json, and
pinned to the server URL you signed into, so it is only ever sent back to that
origin. HTTPS is required (plain http is allowed only for localhost), and the
extension won't auto-connect in an untrusted workspace.
Point at your project. Either add a transglot.json to the workspace
(same file the CLI uses) or set transglot.url in settings. Example:
{
"url": "https://api.transglot.ai",
"sources": [
{ "path": "locales/{locale}.json", "format": "json_nested", "locales": ["en", "fr", "de"] }
],
"pull": [
{ "path": "locales/{locale}.json", "format": "json_nested" }
]
}
Settings
| Setting |
Description |
transglot.url |
Base server URL. Overrides the url in transglot.json. |
transglot.configPath |
Path to transglot.json (default transglot.json). |
transglot.webUrl |
Project web URL for Open project in web (the API doesn't expose your org slug, so set it manually). |
transglot.inlineTranslations.enabled |
Toggle inline CodeLens/hover. |
transglot.inlineTranslations.locales |
Restrict inline locales (empty = all target locales). |
transglot.diagnostics.enabled |
Toggle missing-translation diagnostics. |
Privacy and security
The extension sends source files, translation requests and edits to the server you configure when you use those commands. It fetches translations to display inline and in the project view. Project tokens are stored in VS Code SecretStorage and pinned to the server URL; HTTPS is required except on localhost. Untrusted workspaces do not auto-connect or read project configuration.
Read the Transglot privacy policy. Contact hello@transglot.ai for support.
Build and install from source
From this directory:
npm install
npm run typecheck
npm test
npm run build
The Marketplace publisher is transglot. The submission kit documents packaging and publication.
License
MIT for the extension. The connected Transglot service has separate subscription terms.