🎉 v1.0

Get started

  • Welcome
  • Documentation
  • Pricing
    Soon

Tools

  • I18n MCP
  • CLI
  • CI/CD Integrations
  • Compiler
    Alpha
  • Connect Your Engine

Resources

  • Languages
  • LLM Models
  • Guides

Company

  • Enterprise
  • CareersHiring!
Dashboard

Lingo.dev CLI

  • How it works
  • Setup

Configuration

  • Supported formats
  • i18n.json
  • i18n.lock

Features

  • Existing translations
  • Adding languages
  • Overrides
  • Translator Notes
  • Translation keys
    • Key renaming
    • Key locking
    • Key ignoring
    • Key preserving

Performance

  • Large projects
  • Parallel processing

Retranslation

  • Automatic Retranslation
  • Retranslation
  • Remove translations

Adding Languages

Max PrilutskiyMax Prilutskiy·Updated 1 day ago·1 min read

Add new target languages by updating the targets array in i18n.json and running the CLI. Complete translation files are generated for new locales, while existing translations remain unchanged.

Add a language#

Update your i18n.json configuration:

json
{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de"]
  }
}

Run the CLI:

bash
npx lingo.dev@latest run

The CLI creates complete translation files for each new locale:

text
locales/
  en.json    (source - unchanged)
  es.json    (existing - unchanged)
  fr.json    (existing - unchanged)
  de.json    (new - fully translated)

Existing vs. new languages#

The CLI handles existing and new languages differently:

Existing languagesNew languages
BehaviorOnly missing keys are translatedComplete files are generated from scratch
Existing contentPreservedN/A

Regional variants#

The CLI supports regional language variants using BCP 47 tags:

json
{
  "locale": {
    "source": "en-US",
    "targets": ["en-GB", "es-ES", "es-MX", "fr-FR", "fr-CA", "pt-BR", "pt-PT"]
  }
}

Each variant gets a distinct translation file with region-appropriate terminology, spelling, and tone.

Targeted generation#

Generate translations for a specific language without processing all targets:

bash
npx lingo.dev@latest run --target-locale de

This is useful when adding one language at a time to review quality before expanding further.

Removing languages#

Remove a locale from the targets array and the CLI stops processing it. Existing files are not deleted - remove them manually if needed.

Next Steps#

Existing Translations
Integrate with projects that already have translations
Parallel Processing
Process multiple languages concurrently
Large Projects
Strategies for scaling localization
i18n.json
Full configuration reference

Was this page helpful?