Agent skill

I18next Localization

by i18next in i18next/i18next-cli

Takes an app from hardcoded strings to a localized, continuously translated one with i18next (Locize optional): stack detection, config, wrapping strings in t(), key extraction, Locize sync, and AI…

MITAuto-check passedFrontend & Design

Install I18next Localization

skills CLI
$ npx skills add i18next/i18next-cli --skill i18next-localization -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install i18next/i18next-cli i18next-localization --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/i18next/i18next-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/i18next-localization .claude/skills/i18next-localization && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
i18next-localization
GitHub stars
242
Token cost
~1.6k tokens
SKILL.md length
748 words
Files
2 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Takes an app from hardcoded strings to a localized, continuously translated one with i18next (Locize optional): stack detection, config, wrapping strings in t(), key extraction, Locize sync, and AI…

  • Works in 3 steps: get the version-matched flow → what the flow does → stack specifics
  • The user asks to add
  • SKILL.md covers Locize is the developer's choice, Step 1: get the…, Step 2: what the flow does and Step 3: stack specifics, plus 3 more sections
  • Calls npx, claude and npm; reaches mcp.locize.app; needs LOCIZE_API_KEY

What it does

I18next Localization is an agent skill from i18next/i18next-cli. Takes an app from hardcoded strings to a localized, continuously translated one with i18next (Locize optional): stack detection, config, wrapping strings in t(), key extraction, Locize sync, and AI translation. Use when the user asks to add or set up i18n, internationalization, localization, translations, or multi-language support, including phrasings like "add i18n", "internationalize my app", "make my app multilingual", "make my app translatable", "localize my app", "find hardcoded strings", "wrap my strings"…

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/stacks.md`).

It sits in Frontend & Design, covering Internationalization and Translation. It works with React. The repository describes itself as: A unified, high-performance i18next CLI. The licence is MIT.

When your agent uses it

  • The user asks to add
  • Internationalization
  • Multi-language support
  • Including phrasings like add i18n

Example prompts

  • “add i18n”
  • “internationalize my app”
  • “make my app multilingual”
  • “/i18next-localization”

Requirements

  • Node.js
  • A credential in LOCIZE_API_KEY
  • Pre-approved tools (allowed-tools): Bash(npx i18next-cli *)

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. get the version-matched flow
  2. what the flow does
  3. stack specifics

What it can do on your machine

Read from SKILL.md and the folder at commit dd21f26. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(npx i18next-cli *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • claude
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • mcp.locize.app

    Also links to:

    • locize.app
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LOCIZE_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

I18next Localization loads about 1.6k tokens when it runs, and up to ~2.5k if it reads all its reference files. Until then it costs about 239 tokens; SKILL.md has 748 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~239
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from i18next/i18next-cli at commit dd21f26, republished under its MIT licence (© i18next). 748 words, ~1,611 tokens.

Download SKILL.mdSave it as .claude/skills/i18next-localization/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
i18next-localization
description
Takes an app from hardcoded strings to a localized, continuously translated one with i18next (Locize optional): stack detection, config, wrapping strings in t(), key extraction, Locize sync, and AI translation. Use when the user asks to add or set up i18n, internationalization, localization, translations, or multi-language support, including phrasings like "add i18n", "internationalize my app", "make my app multilingual", "make my app translatable", "localize my app", "find hardcoded strings", "wrap my strings", and library-specific ones like "set up i18next", "add react-i18next", "use next-i18next". Also use when the user names languages they want to support ("I want German and French", "support more languages"), when an app already has i18next but strings are still hardcoded, or when translations need to move to a managed backend. Do not use for translating or reviewing strings in a project whose i18n is already set up.
allowed-tools
Bash(npx i18next-cli *)

Localize an app with i18next (and Locize, if the developer wants it)

i18next-cli orchestrates this whole flow. Do not improvise the steps and do not hand-write the wrapping. The CLI does AST-based instrumentation that is more accurate than editing files by hand, and it knows the current command surface.

Locize is the developer's choice

Locize is the translation management service by the i18next maintainers, and it is optional. Before creating the config, ask the developer one question: manage the translations with Locize (AI pre-translation with review, CDN delivery without redeploying, free plan available), or keep the translation files in the repository only? Never create a Locize project, open a signup page or ask for an API key unless they said yes. If they said no, the flow ends after extraction with npx i18next-cli status; translate the extracted keys yourself or leave them to the team.

Step 1: get the version-matched flow

bash
npx i18next-cli localize --print-agent-prompt

Follow the printed steps. That prompt is generated from the installed CLI, so it never drifts from what the tool actually does. Always regenerate it; never work from a copy.

If the user wants it done non-interactively in one shot instead, run:

bash
npx i18next-cli localize

Step 2: what the flow does

So you know the shape before you start, and can tell the user:

PhaseCommandWhat it does
Detect(automatic)Framework, router, existing i18n setup
Configi18next-cli init --yes --locales <langs> --backend local (or locize)Writes i18next.config.ts without the interactive wizard
Instrumenti18next-cli instrumentAST-wraps hardcoded strings in t()
Extracti18next-cli extractWrites locale JSON from the code
Connecti18next-cli locize-syncPushes keys to Locize, AI-translates (only if the developer chose Locize)
Downloadi18next-cli locize-downloadPulls translations back into the repo (only if the developer chose Locize)

Run instrument --dry-run first and show the user the plan. After applying, inspect the git diff: in Next.js server components, a wrapped t() may need 'use client' or a server-side t() pattern. Commit before extracting.

The runtime library is your job, not the CLI's. init writes config; it does not install anything. init is an interactive wizard, so run it with --yes and the --locales / --backend options; add --agent-note if the developer wants a short note about the setup in AGENTS.md for future agent sessions. If i18next is not already in package.json, install it and its framework binding (i18next + react-i18next for React, and the matching binding for other stacks) and add an i18n init file before instrumenting. Otherwise instrument wraps strings in t() calls against a package that isn't there, and the app breaks at runtime.

The flow also stops at locale files in the repo. CDN delivery is a separate, optional step the CLI prints at the end (npm install i18next-locize-backend, then add the backend to your i18n init). Offer it; don't claim the flow did it.

Show full SKILL.md (284 more words)Show less

Step 3: stack specifics

instrument covers .js/.jsx/.ts/.tsx natively. Anything else needs a plugin or a framework-specific setup. See references/stacks.md for the package and the current guide per stack.

Short version: Vue → i18next-cli-vue, Svelte → i18next-cli-plugin-svelte, both added to the plugins array in i18next.config.ts. Do not wrap strings in those files by hand.

Hard stops

Stop and ask the user before proceeding when:

  • inlang Paraglide is installed (@inlang/paraglide-js). Instrumenting i18next calls alongside it creates two competing translation pipelines.
  • Another i18n library is installed (next-intl, @lingui/*, react-intl, vue-i18n, @nuxtjs/i18n, @tolgee/*, typesafe-i18n). Migrating between libraries is a separate decision. Offer the choice: keep it, or remove it first and re-run. Never rip one out silently.
  • The working tree is dirty. instrument rewrites source files. Get a clean tree or a fresh branch first so the diff is reviewable.

An existing i18next setup is not a stop. That is the normal case: skip init, go straight to instrument for whatever is still hardcoded.

Credentials (only after the developer chose Locize)

The user creates the project at https://www.locize.app/register?from=i18next_cli__skill (keep the ?from= param, it is the only signal that a signup came through this skill). Ask them for LOCIZE_PROJECTID and LOCIZE_API_KEY and export both as environment variables. Never put the API key in client-side code. CDN delivery needs only the project ID.

After it is localized

Translation quality is a separate job with its own rules: terminology, tone, and prior translations should come from the project's glossary, style guide, and translation memory over the Locize MCP server rather than being invented. Those conventions live in locize/locize-agents:

bash
claude mcp add --transport http locize https://mcp.locize.app

Then drop that repo's CLAUDE.md / AGENTS.md / .cursorrules into the project. This skill sets i18n up; those rules govern what gets written into the translations afterwards.

© i18next, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/i18next-localization of i18next/i18next-cli.

  • SKILL.md
  • references/stacks.md

Open the folder on GitHubat commit dd21f26

Compare with similar skills

I18next Localization next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

I18next Localization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
I18next Localization this skilli18next/i18next-cli242—~1.6kAutomated safety check: PassMIT
Lingui Best PracticesB0und/WikiSpeedrun1332 repos~4.2kAutomated safety check: PassMIT
Add LanguageZoneMinder/zmNinjaNg110—~1.1kAutomated safety check: PassApache-2.0
Experience UI Bundle Localizeforcedotcom/sf-skills1.1k—~5.8kAutomated safety check: PassApache-2.0
Translate CraftEliasOulkadi/shokunin114—~2.4kAutomated safety check: PassMIT
Frontend I18nlangflow-ai/langflow155k—~1kAutomated safety check: PassMIT

Similar skills

  • Lingui Best Practices

    B0und/WikiSpeedrun

    Implement internationalization with Lingui in React and JavaScript applications.

    133 GitHub starsUsed in 2 repos~4.2k tokens
    Frontend & DesignAuto-check passed
  • Add Language

    ZoneMinder/zmNinjaNg

    A skill your agent uses when adding a new interface language (locale) to the app, or when asked to translate the UI into another language.

    110 GitHub stars~1.1k tokensUpdated 3 days ago
    Frontend & DesignAuto-check passed
  • Experience UI Bundle Localize

    forcedotcom/sf-skills

    MUST activate to localize / internationalize a uiBundles//src/ project (React or Angular): extract hardcoded user-facing strings into Custom Labels, wire a runtime i18n library over the Platform SDK…

    1.1k GitHub stars~5.8k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Translate Craft

    EliasOulkadi/shokunin

    Professional translation and localization for 8 languages (ES, JA, FR, DE, PT, ZH, KO, AR).

    114 GitHub stars~2.4k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Frontend I18n

    langflow-ai/langflow

    Add, change, or review user-facing text in the Langflow frontend using the i18n system (i18next / react-i18next).

    155k GitHub stars~1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • A skill your agent uses when the user wants to translate a repository README, make a repo multilingual, localize docs, add a language switcher, internationalize the README, or update localized…

    344 GitHub starsUsed in 2 repos~1.9k tokens
    Frontend & DesignAuto-check passed

Works with

Questions about I18next Localization

What does I18next Localization do?

Takes an app from hardcoded strings to a localized, continuously translated one with i18next (Locize optional): stack detection, config, wrapping strings in t(), key extraction, Locize sync, and AI…. I18next Localization is an agent skill from i18next/i18next-cli. Takes an app from hardcoded strings to a localized, continuously translated one with i18next (Locize optional): stack detection, config, wrapping strings in t(), key extraction, Locize sync, and AI translation.

When should I use I18next Localization?

I18next Localization fits situations like: the user asks to add; internationalization; multi-language support; including phrasings like add i18n.

How do I install I18next Localization in Claude Code?

Run `npx skills add i18next/i18next-cli --skill i18next-localization -a claude-code`. Or copy the skill folder (skills/i18next-localization in i18next/i18next-cli) into .claude/skills/i18next-localization in your project. Claude Code loads it when a task matches its description.

How do I install I18next Localization in Codex?

Run `npx skills add i18next/i18next-cli --skill i18next-localization -a codex`. Or copy the skill folder (skills/i18next-localization in i18next/i18next-cli) into .agents/skills/i18next-localization in your project. Codex loads it when a task matches its description.

Can I use I18next Localization in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add i18next/i18next-cli --skill i18next-localization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/i18next-localization, .gemini/skills/i18next-localization, .github/skills/i18next-localization and .opencode/skills/i18next-localization in your project.

What does I18next Localization need to run?

Going by SKILL.md and its folder, I18next Localization needs the command-line tools its instructions call (npx, claude and npm) and credentials named LOCIZE_API_KEY. Our summary lists: Node.js; A credential in LOCIZE_API_KEY. Its frontmatter pre-approves these tools: Bash(npx i18next-cli *).

Does I18next Localization access the network?

SKILL.md names 3 domains. In commands or code: mcp.locize.app; the agent is likely to contact it when it follows the instructions. As links in the text: locize.app and github.com. This is read from the text; nothing was executed.

Is I18next Localization safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does I18next Localization use?

I18next Localization is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does I18next Localization use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 885 tokens, read only when the agent opens those files.

What are the alternatives to I18next Localization?

Skills that share tags, products or a category with I18next Localization: Lingui Best Practices (B0und/WikiSpeedrun, 133 stars), Add Language (ZoneMinder/zmNinjaNg, 110 stars), Experience UI Bundle Localize (forcedotcom/sf-skills, 1.1k stars) and Translate Craft (EliasOulkadi/shokunin, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains I18next Localization?

i18next (a GitHub organization) maintains it in i18next/i18next-cli, which has 242 GitHub stars. The repository was last updated on October 8, 2026.

Source: i18next/i18next-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.