Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Intl PeekNew to Visual Studio Code? Get it now.
Intl Peek

Intl Peek

Artur Rok

|
2 installs
| (0) | Free
Tiny, zero-dependency inline translations, hover, go-to-definition, key completion and missing-key warnings for next-intl and use-intl.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Intl Peek

Shows translations in place of keys for next-intl and use-intl. One small file, no runtime dependencies: a lightweight alternative to i18n-ally.

Translations shown in place of keys

  • Inline: t('login.submit') reads as t('Zaloguj się'). On the line with the cursor, the key comes back so you can edit it.
  • Hover: shows the value in every locale and marks the missing ones.
  • Go to definition (F12): opens the key in the message file.
  • Completion: suggests keys inside t('...'), scoped to the namespace.
  • Warnings: marks a key that is missing in any locale.
  • Progress: the Translations section in the Explorer shows how many keys of the default locale each locale has. Expand a locale to see its missing keys, and click a key to open it in the default locale.

How keys are found

Intl Peek reads the translator bindings in each file:

const t = useTranslations('auth')                 // t('login.submit') -> auth.login.submit
const t = await getTranslations({ namespace: 'auth' })
const t = useTranslations()                       // t('auth.login.submit')

Each call uses the nearest binding above it, so two components in one file can bind t to different namespaces. The t.rich, t.markup, t.raw and t.has methods work too. Keys built at runtime (template strings, variables) are skipped.

Message files

By default, Intl Peek uses any locales or messages folder in the workspace, in one of these layouts:

messages/en.json            one file per locale
locales/en/common.json      one file per locale and namespace

Settings

Setting Default Description
intl-peek.localesPath "" Folder with the message files, relative to the workspace root. Empty: auto-detect.
intl-peek.displayLocale "pl" Default locale: shown inline, in completion and as the base for progress. pl also matches pl-PL or pl_PL. If none is found, the first locale is used.

Development

bun install
bun run check     # types and tests
bun run package   # builds intl-peek-<version>.vsix

Release: bump version in package.json, add a CHANGELOG.md entry, then run the Release VS Code Extension workflow (gh workflow run publish-extension.yml). It publishes to the Marketplace, to Open VSX when the OVSX_PAT secret is set, and creates the GitHub release with the .vsix.

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