Introduction
NeoIQ Localize is the localization toolkit for modern teams. It connects to your repo, understands your translation formats, and keeps every language in sync as your product ships new features.
Why use NeoIQ Localize?
Localization is usually slow because it is manual, format-sensitive, and spread across teams. NeoIQ Localize automates the translation workflow without taking away control of your source files.
It gives you incremental translations, format integrity, clean diffs, and flexible workflows. Only new or changed keys are translated, structured formats stay valid, and a lock file prevents unnecessary churn. You can run it locally, in CI, or from your own tooling with the SDK or API.
What you can do with it
You can keep product UI strings consistent across many languages, translate docs alongside releases, and generate Android XML or iOS catalogs from a single source. Teams often use it to fail CI when translations are missing or to open PRs automatically, and more advanced teams build internal automation with the SDK or API.
How it works
Pick how you want to run the CLI. All options produce the same config and outputs.
If you prefer a global install:
After you choose how to run the CLI, the workflow is always the same:
Configure your project
Create neoiq-localize.json (or run the init command shown above) and tell NeoIQ Localize which locales and file patterns to use.
Authenticate once
Sign in in a browser or provide NEOIQ_LOCALIZE_API_KEY and NEOIQ_LOCALIZE_PROJECT_ID in your environment.
Translate only what changed
Run translate to detect new or edited keys in your source locale and translate just those keys.
Write targets and track state
Target files are written to disk and neoiq-localize.lock is updated so future runs stay incremental.
Enforce in CI
Use translate --check to fail CI when translations are missing.
Core concepts
Project config
neoiq-localize.json defines locales and file patterns. This is the contract between your repo and the translation engine.
Source locale
The source locale is your single source of truth. You edit src/locales/en.json, and NeoIQ Localize generates es, fr, and de from it.
Target locales
Target locales are the languages you want to generate. If you add it to the list, run translate --force it to backfill existing keys.
Lock file
neoiq-localize.lock records which source strings have already been translated so future runs only process changes. Commit it to your repo to keep diffs stable.
Overrides
Overrides let you adjust translations from the dashboard and pull them into your repo. Use the overrides pull command when you want to sync them locally.
Ways to integrate
CLI
Run locally or in scripts with the same config.
Example: run the translate command after changing your source locale.
SDK
Translate programmatically in your own workflows.
Example: call the SDK from a build step to translate a markdown release note.
API
Direct API access for custom pipelines.
Example: translate content on-demand when a CMS publishes new pages.
GitHub Actions
Automate translations in CI and open PRs.
Example: translate on push and open a PR with updated locale files.
Supported formats
See the full list in Formats.
Getting started
How is this guide?
Last updated on