Skip to main content
shipi18n logo|Documentation

Quick Start

Translate a locale file in about a minute. Shipi18n is free and open source — you bring your own LLM key, and there is no account to create.

1. Set your provider key

Shipi18n calls your provider directly, so the key stays in your environment:

export ANTHROPIC_API_KEY=your-key-here   # or OPENAI_API_KEY

2. Translate

npx @shipi18n/cli translate locales/en.json --target es,fr,de

That writes locales/es.json, locales/fr.json and locales/de.json, each with the same shape as the source file.

Input

{
  "nav": { "home": "Home", "about": "About Us" },
  "hero": {
    "title": "Build something amazing",
    "subtitle": "Welcome back, {{name}}!",
    "items": "You have {{count}} new messages"
  }
}

Output (es.json)

{
  "nav": { "home": "Inicio", "about": "Sobre nosotros" },
  "hero": {
    "title": "Crea algo increíble",
    "subtitle": "¡Bienvenido de nuevo, {{name}}!",
    "items": "Tienes {{count}} mensajes nuevos"
  }
}

Structure and placeholders are preserved. Interpolation, printf tokens, i18next references and inline HTML are extracted before the request and verified afterwards.

Pick the integration that fits

Migrating from v1?

v1 called a hosted Shipi18n API with a SHIPI18N_API_KEY. That service is retired. In v2 you pass --provider and use your own Anthropic or OpenAI key, and the keys and config commands no longer exist — there is no account to configure.