
Lingo.dev CLI
CLILingo.dev's official CLI: lingo push sends JSON, YAML, Markdown, PO, XLIFF, Android/Xcode strings and other files from your repo to its LLM localization engine, and lingo pull brings translations back; CI-ready. Needs a Lingo.dev account; usage-based pricing with a free sandbox.
Lingo.dev is the localization engineering platform: the best way to measure translation quality, translate with LLMs, and proofread with native speakers.
Teams build localization engines on Lingo.dev
A localization engine is a stateful translation API your team configures and Lingo.dev runs. Build one per product, per content type, or per brand. Every request through an engine applies everything you configured in it, in a fixed order of precedence:
| Layer | What you configure | From the docs |
|---|---|---|
| LLM models | Which model handles each language pair, with ranked fallbacks | 400+ models; the response names the model that ran |
| Brand voice | How your product speaks in each language, one text per locale | Tone and formality per market |
| Rules | The linguistic conventions a generic model misses | Adjective position in Spanish, a space before percentage signs |
| Glossary | Exact term mappings per locale, matched by meaning | "911" becomes "112" for European markets; product names pass through |
| AI reviewers | Scoring that runs after every translation | GEMBA scores, BERTScore, glossary compliance |
Glossaries, rulesets, and brand voices belong to your organization, and an engine applies them by attachment. One glossary governs five engines, and one edit reaches all five. Test a change in the Playground before it goes live: compare an engine against a raw model, or two engines side by side. The engines are configured on the platform, where the localization team runs the localization infrastructure.
Reach your engines from code
Translate the content in a repository. lingo push sends the files to the engine named in .lingo/config.json, and lingo pull writes the translations back from any machine:
npm install -g @lingo.dev/cli
lingo init && lingo link
lingo push
Or call an engine directly, naming it by ID:
const res = await fetch("https://api.lingo.dev/process/localize", {
method: "POST",
headers: { "X-API-Key": process.env.LINGO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
engineId: "eng_abc123",
sourceLocale: "en",
targetLocale: "de",
data: { greeting: "Hello, world!", cta: "Get started" },
}),
});
const { data, model, usage } = await res.json();
// data: { greeting: "Hallo, Welt!", cta: "Jetzt starten" }
// model: "anthropic/claude-sonnet-4.5"
// usage: { inputTokens: 2789, outputTokens: 861, cost: 0.023012 }
| Lingo.dev MCP | Your coding agent creates an engine, adds glossary terms, tunes rules, and compares two engines, from the conversation where the problem surfaced |
| Lingo.dev CLI | Push source files, pull translations, from a terminal or from CI. Eighteen formats: JSON, YAML, Markdown, MDX, PO, XLIFF, Flutter ARB, Android and Xcode strings, SubRip, PHP |
| Lingo.dev in CI/CD | Install the CLI and run lingo push as a step in GitHub Actions, GitLab CI/CD, Bitbucket Pipelines, or any runner with Node.js 22+ |
| Lingo.dev GitHub App | Install once and every push to the default branch opens or updates a translation pull request, or translations land as a commit in the pull request that changed the source. No runner, no API key secret, no lockfile to manage |
| Lingo.dev API | One synchronous call per language pair, or an async job that fans one request out to many locales and delivers results as they land |
Похожие ресурсы

Languine
CLIAI localization: deploy the server to your own Vercel account (Postgres and AI Gateway included; enable deployment protection afterwards), then run npx languine@selfhosted translate to translate locale files with LLMs. A GitHub Action can open PRs. Needs a Vercel account and Node.js.
languine-ai/languine2k
SimpleLocalize CLI
CLISimpleLocalize's official CLI: upload and download translation files, trigger machine and AI auto-translation, publish translations to the CDN, and extract translation keys from source code for CI. Needs a SimpleLocalize account and project API key; paid service with a 14-day free trial.
simplelocalize/simplelocalize-cli80
locize-cli
CLILocize's official CLI: sync local translation files with the Locize platform, add, remove and look up keys, download published translations, manage versions and branches, and export JSON, XLIFF, PO, CSV or Excel for translators. Needs a Locize account, project ID and API key; free plan available.
locize/locize-cli71
General Translation CLI
CLIGeneral Translation's gt CLI: a wizard sets up i18n for React, Next.js and similar apps, then sends UI strings and JSON, YAML or Markdown files for AI translation and writes them back, with CI support. Needs a Node.js project and a General Translation API key (free sign-up, usage-based pricing).
generaltranslation/gt1.1k
attranslate
CLIOffline translation sync for coding agents: hands only new strings in JSON, YAML, PO, CSV and other locale files to the agent for translation and never overwrites human-edited translations, saving tokens. Needs Node.js; calls no translation API itself.
fkirc/attranslate358
Crowdin CLI
CLICrowdin's official CLI: push source files and pull translations back in place, track progress, manage glossaries and TM, and run machine or AI pre-translation, with JSON output for agents. Needs a Crowdin account (free trial; free for open source) and a token; crowdin init sets up config.
crowdin/crowdin-cli321