Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>Nifty i18n: Inline Translations & Missing KeysNew to Visual Studio Code? Get it now.
Nifty i18n: Inline Translations & Missing Keys

Nifty i18n: Inline Translations & Missing Keys

Nifty

| (0) | Free
See translations inline next to t('key') calls, find missing keys and translations, complete and jump to keys, and extract strings into your locale files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Nifty i18n

See translations inline next to t('key') calls, find missing keys and translations, complete and jump to keys, and extract strings into your locale files.

Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.

Features

A react-i18next checkout component with the English text next to each t() call and a missing key flagged

Hovering a key lists its text in every locale, with the Norwegian translation marked missing

Translation coverage: keys and gaps per locale, ready to fill in

  • Read your code, not your keys. Next to every t('checkout.total') you see the actual text, "Total to pay", in your source language (or any locale you pick). Keys that don't exist show a warning instead.
  • Every locale on hover. Hover a key to see its translation in each locale, with missing ones marked and a link straight to the line in each locale file.
  • Catch missing translations. A key that isn't in your source locale is a warning with a quick fix to add it. A key some locales haven't translated yet is pointed out, so nothing ships half-translated.
  • Complete and jump. Get key completion inside t('…'), $t('…') and i18nKey="…", and Go to Definition opens the key in every locale file.
  • Extract strings in one step. Put the cursor in a string (or select text) and choose Extract to Translation Key (Ctrl+Alt+T or the light bulb). A key is suggested from the text, the text is added to your source locale file, and the string is replaced with t('your.key') ($t in Vue, __ in PHP; configurable).
  • Translation coverage. See how many keys each locale has and which ones are missing, and fill them in one by one.
  • Fits your setup. Finds locale files in locales/, i18n/, lang/, translations/ and messages/ folders, as JSON or YAML, nested or flat, one file per locale (en.json) or per namespace (en/common.json). Understands i18next namespaces (common:key) and next-intl's useTranslations('Home').
  • Works in the browser on vscode.dev and github.dev.

Commands

Command What it does
Nifty i18n: Extract to Translation Key Move a string into your locale file (Ctrl+Alt+T)
Nifty i18n: Add Translation Key… Add a key to the source locale
Nifty i18n: Translation Coverage… Keys and gaps per locale
Nifty i18n: Reload Locale Files Read locale files again (they're also watched)

Settings

Setting Default What it does
nifty.i18n.localesPaths locales, i18n, lang, translations, messages folders Where locale files are
nifty.i18n.sourceLocale en The locale you write first
nifty.i18n.displayLocale "" Locale shown inline (default: source)
nifty.i18n.inlineValues true Show text next to keys
nifty.i18n.reportMissingTranslations true Point out untranslated keys
nifty.i18n.functions t, $t, i18n.t, __, trans, … Functions that take a key
nifty.i18n.defaultNamespaces translation, common, messages Namespaces usable without a prefix
nifty.i18n.extractTemplates {} The call written when extracting, per language
nifty.i18n.keyPrefixFromFile true Suggest keys starting with the file name

Install

  • VS Code: search for "Nifty i18n" in the Extensions view, or install from the Visual Studio Marketplace.
  • Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.

Privacy

This extension collects no telemetry and needs no account.

More Nifty tools

  • Nifty Beautify: Format HTML in PHP, Blade & Twig: Format HTML inside PHP, Blade, Twig, Jinja, Handlebars, ERB and Liquid templates without breaking the template tags. (Open VSX)
  • Nifty Code Metrics: Complexity & Hotspots: Complexity and size for every function in any language, as CodeLens and warnings, plus a hotspots view of the complex files that change most often. (Open VSX)
  • Nifty Licenses: Dependency License Checker & SBOM: See the license of every dependency (npm, Python, Cargo, Go, NuGet, Composer), get warned about GPL and unknown licenses, and export an SBOM or third-party notices. (Open VSX)
  • Nifty OpenAPI: Outline, Checks and Try It for API Specs: Edit OpenAPI and Swagger files with an outline, $ref navigation and completion, error checking, example payloads, and Try it requests for your REST client. (Open VSX)
  • Nifty Pretty Errors: Readable Error Messages: Readable error messages for every language: TypeScript types formatted as code, long C++ and Rust types folded, and a docs link for every error code, in the hover and a side panel. (Open VSX)
  • Nifty Problems: Project-Wide TypeScript Errors: See TypeScript and ESLint errors for your whole project in the Problems panel, not just open files. (Open VSX)

See all 100+ Nifty extensions and web tools at https://getnifty.dev

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft