Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>guided-i18n: AI i18n for ReactNew to Visual Studio Code? Get it now.
guided-i18n: AI i18n for React

guided-i18n: AI i18n for React

Bosi (Terry) Lin

|
1 install
| (0) | Free
Internationalize your React app in a few clicks: no prompts, no surprises. Review every string and key before anything changes, undo in one step, and only your UI text leaves your machine. Just bring your own Anthropic or OpenAI API key; no extra fees.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

guided-i18n

Internationalize your React app in a few clicks: no prompts, no surprises. Review every string and key before anything changes, undo in one step, and only your UI text ever leaves your machine.

guided-i18n turns hardcoded text into react-i18next keys and writes every language file

guided-i18n finds the hardcoded UI text in a React app, moves it into the standard react-i18next setup with sensible keys, and translates it with the AI provider you choose. You approve every string first.

Why guided-i18n

  • The standard result, every time. Always react-i18next with JSON language files, in the exact languages you pick, with your source language kept. The extension asks what an AI agent would silently decide: which languages, Simplified or Traditional Chinese, where the files go.
  • Nothing changes until you approve. One checklist shows every string and the key it will get. Uncertain strings are marked. Preview First shows the full diff, and Undo reverts the whole run, code and language files together.
  • Your code stays on your machine. A code parser finds the strings locally. Only the strings, their placeholder names and short context labels (file path, component name, the HTML tag or attribute) go to the AI. Never whole files.

Getting started

  1. Open your React project folder in VS Code.
  2. Run guided-i18n: Set Up i18next from the Command Palette (Cmd/Ctrl+Shift+P). It creates the i18next config and language files, imports it in your entry file and offers to install i18next and react-i18next. Skip this if the project already uses react-i18next.
  3. Run guided-i18n: Choose Target Languages and pick the locales, e.g. zh-CN, ja-JP, es-ES.
  4. Open a component and run guided-i18n: Scan & Refactor, or right-click a folder and choose Scan & Refactor Folder. The first run asks for your API key.
  5. Untick anything that should stay hardcoded, then choose Apply (or Preview First).

The checklist: every string and its key, before anything changes

What it handles

  • JSX text, attributes (placeholder, title, aria-label…), toasts and other strings in components; strings outside components use i18n.t().
  • Placeholders and plurals: Hi {{name}}, you have {{count}} items gets every plural form each language needs (Russian four, Arabic six, Chinese one).
  • Markup inside a sentence: "Agree to our Terms." becomes <Trans> with numbered tags, so translators can reorder words.
  • Your existing project: reuses keys you already have for the same text, follows your key style (snake_case, camelCase, or the text itself as the key), nesting and quote style.
  • What not to translate: CSS classes, URLs, log messages, product and format names ("Markdown", "GitHub") are left alone.
  • Every translation is checked against the source: placeholders, tags and plural forms must match, or it's retried once and then reported, never written.

The Chinese language file after one run: every key translated, placeholders and tags intact

The Review panel lists what needs a person, with the reason and the fix: uncertain strings you left unticked, text stored in state that won't follow a language switch, keys the code uses but your files lack, and files skipped as Next.js server components.

Keeping up as the app grows

Run guided-i18n: Translate Untranslated Strings after adding a language or new features. It fills every language file that's missing keys, including keys your code uses (t('key', 'Default text')) but the source-language file lacks.

Commands

Command What it does
Set Up i18next Adds react-i18next, its config and language files to the project
Choose Target Languages Picks the locales to translate into
Scan & Refactor Scans the open file (also in the file's right-click menu)
Scan & Refactor Folder Scans every source file in a folder (right-click a folder)
Extract Selection Scans only the selected code (right-click in the editor)
Translate Untranslated Strings Fills in languages that are missing keys
Show Review Panel Reopens the last run's Review panel
Set API Key / Clear API Key Stores or removes your key in VS Code's secret storage
Select Model Picks a model from your provider account

Your API key and privacy

  • Bring your own key. guided-i18n is free; you pay your AI provider directly for what you use. Only short strings are sent, so a single file usually costs cents; in our tests a large project (about 840 files) cost a few dollars.
  • Providers: Anthropic (default model claude-opus-5-5), or any OpenAI-compatible API such as OpenAI or DeepSeek (set guided-i18n.provider, guided-i18n.baseUrl and pick a model with Select Model).
  • Your key is stored in VS Code's secret storage (the OS keychain), never in settings files.
  • What is sent: the UI strings to translate, their placeholder names and short context labels. Folder scans over 50 files ask before sending anything. Nothing is sent to us; requests go straight from VS Code to your provider.

Settings

Setting Default Description
guided-i18n.baseLocale en-US Language of the strings in your source code
guided-i18n.targetLocales [] Languages to translate into; empty = those with language files already
guided-i18n.localesPath auto Folder with your JSON language files (src/locales, public/locales… are detected)
guided-i18n.keyStyle auto-detect Nested JSON or flat dotted keys
guided-i18n.keyCase auto snake_case, camelCase, or the text itself as the key
guided-i18n.interpolationFormat {{ }} Placeholder prefix and suffix
guided-i18n.globalI18nImport auto Module exporting your i18n instance, for strings outside components
guided-i18n.provider anthropic anthropic or openai-compatible
guided-i18n.model Model ID (required for OpenAI-compatible providers)
guided-i18n.baseUrl Endpoint for OpenAI-compatible providers
guided-i18n.effort medium Anthropic reasoning effort
guided-i18n.exclude tests, builds… Glob patterns skipped in folder scans

Project settings can live in .vscode/settings.json, so the whole team uses the same languages and paths.

Requirements and limitations

  • VS Code 1.95 or later, a local project folder (remote workspaces aren't supported yet).
  • React with react-i18next and JSON language files. Vue, Angular and other i18n libraries aren't supported yet.
  • Next.js: the Pages Router and 'use client' components work. App Router server components are skipped and listed in the Review panel, because react-i18next's useTranslation() doesn't work in them.
  • AI translations are a first draft. For important text, have them reviewed; the JSON files import directly into translation platforms such as Lokalise, Crowdin and Phrase.
  • Some cases are flagged rather than rewritten: class components, strings in default parameters, and sentences built from pieces.

Feedback

Questions, bug reports and ideas: use the Q & A tab on the Marketplace page.

License

Free to use; proprietary license (see the License link on this page).

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