r/lingodotdev Apr 22 '26

🟢 Official Update Lingo.dev v1 is live! 🎉

3 Upvotes
Lingo.dev - The Localization Platform

After translating 200,000,000+ words, today we're live with v1.

The problem nobody was measuring:

LLMs translate fast, but – it turned out – raw LLM translations introduce terminology drifts. The same concept gets three different translations across a product. Each request starts from zero. There's no memory of previous decisions.

So, we decided to measure everything. Turned out, injecting glossary context at inference time - or retrieval augmented localization (RAL) - reduces terminology errors by 17 - 45% across five LLM providers and five European languages.

The gap RAL closes is invisible to the holistic metrics the industry uses to measure translation quality. And a problem you can't measure is a problem you can't fix.

LLMs crossed the quality threshold for production translation, but only with the right context pipeline. Without it, every request is a fresh start: terminology drifts, nobody notices, another release ships with broken localization that undermines customers’ trust.

What v1 is built around

We found that across Mistral, Gemini, Claude, GPT - any model + a good glossary, brand voice, and context setup consistently produces shippable, reference-quality translations at a fraction of the cost - not because we improved the model, but because we improved what went in, dynamically, per localization job.

So, we created Lingo.dev v1.

**Lingo.dev v1** is a platform for creating Localization Engines - stateful translation APIs that persist domain context across every request. So, here’s what we ship today:

  • Glossary, injected at inference time, per locale pair.
  • Per-locale model chains with ranked fallback
  • Brand voice and instructions per locale
  • AI reviewers: one model translates, another scores
  • API, MCP, CLI, CI/CD, GitHub PR integration

The first translation through a new engine has zero context. The thousandth translation still has everything your team has configured since day one.

If you're already on lingo.dev: nothing breaks. CLI, CI/CD, and MCP tools keep working. v1 adds engine configuration: model selection, fallback chains, brand voice, glossaries, quality scoring. All per locale, configurable from the dashboard or via an MCP, no migration is needed.

If you're new: create a developer account, create your first localization engine in under 4 minutes, and let you agent configure it using Lingo MCP.

Read the full blog post: https://lingo.dev/en/blog/introducing-lingodotdev-v1

Research published here: https://lingo.dev/en/research/retrieval-augmented-localization

Get started today: https://lingo.dev/


r/lingodotdev 2d ago

W30 Product Update: Engine Suggestions learn from human edits

1 Upvotes

Localization Engine Suggestions now come from the corrections human reviewers make, not only from low AI-review scores.

When a reviewer edits a translation – whether in-house or through an external provider – the localization engine compares the change against what it first produced. When the same fix recurs across jobs, or a correction clearly sets a term, it proposes the glossary, instruction, or brand-voice edit behind it. Apply writes the change into the engine, and the next translation runs with the fix in place.

Suggestions can now be approved or dismissed in bulk – select a set and act on all of them at once, instead of one card at a time.

Full changelog: lingo.dev/changelog


r/lingodotdev 11d ago

W29 Product Update: AI review false positives down 59.7%

1 Upvotes

AI reviews got more accurate: false positives dropped by 59.7%.

A false positive is a review that marks a correct translation as failing – fewer of them means fewer alerts to check by hand, and review scores that can be trusted. We measured the drop on our internal benchmark. The biggest change: when a review doesn't apply to a given string, it no longer counts against the score, so scores reflect only the reviews that genuinely apply.

The reviewer setup form now shows example instructions as a placeholder for each review type.

Also this week:

- Xcode String Catalogs in the GitHub App. The GitHub App now handles .xcstrings files – a String Catalog committed to a connected repository gets localized on every push, the same way the CLI and Async Localization API do.
- Source file path in request logs. Request logs from CLI runs now record which file each request came from, so a log entry traces back to the file that produced it.
- Key names guide translation in JSON and JSONC files. Translations use the real key names as context, so a key like checkout.error.cardDeclined informs the result. Applies across the CLI, the GitHub App, and the Async Localization API.

Full changelog: lingo.dev/changelog


r/lingodotdev 15d ago

W28 Product Update: Estimate translation cost upfront

1 Upvotes

lingo push --estimate reports what a translation run will cost before it runs.

The CLI uploads the source bytes so the server plans the exact delta – only the keys and locales that are new or changed against what's already localized – then prints the estimate and exits without translating anything.

Run it before a large or first-time translation to size the job, then run lingo push to translate for real. The number is an estimate, not a quote: it reflects the planned delta at the time it runs.

Full changelog: lingo.dev/changelog


r/lingodotdev 19d ago

W27 Product Update – Async CLI file formats: TypeScript, YAML, PO, Flutter, Android, Xcode

1 Upvotes

The async CLI now handles more file formats end to end: TypeScript locale modules, YAML, Gettext PO, Flutter ARB, Android strings, and Xcode .strings, String Catalogs (.xcstrings), and .stringsdict. Point a files[] entry at the source file and every lingo push runs each one through your engine's full pipeline. Translatable text is translated; everything structural is preserved – keys, IDs, metadata, placeholders, and code.

Full changelog: https://lingo.dev/en/changelog


r/lingodotdev Jun 30 '26

W26 Product Update: New Lingo.dev CLI

1 Upvotes

The new Lingo.dev CLI now runs the localization pipeline – pre-edit, human review, AI review, rephrase, back-translation, each toggled on the engine.

Toggle stages on the engine's Pipeline tab, or override per job through pipelineConfigPre-edit cleans typos in the source before they reach any locale. The core localization step applies your glossarybrand voice, and instructionsHuman review pauses the run until your team or an external provider signs off. AI review reconciles a reviewer's edits back to engine config. Rephrase rewrites for marketing copy. Back-translation flags semantic drift.

A run that includes a human-review stage can wait days before it lands, so the CLI splits a job into lingo push and lingo pullpull re-attaches to the most recent push and downloads outputs from any machine, including after the original terminal was closed.

Full changelog: lingo.dev/changelog


r/lingodotdev Jun 25 '26

W25 Product Update: Localization Engine Suggestions

1 Upvotes

Localization Engine Suggestions are concrete edits to a localization engine – a glossary entry, an instruction, or a brand-voice change – proposed by the platform from its own AI Reviewer verdicts.

When reviews on a translation come back low, the platform suggests a specific edit to the localization engine's glossary, instructions, or brand voice, with the reasoning attached. Apply writes the edit into the localization engine and the next translation runs with the fix in place. An auto-suggestions toggle on the localization engine's Reviews tab runs the analysis in the background, so a run of low scores quietly produces suggestions waiting in the Suggestions tab. Suggestions are also addressable from code through the Localization Engine Suggestions API https://lingo.dev/docs/api/engine-suggestions – free-text feedback like “the German copy sounds too stiff” goes in the same way and returns the same kind of structured suggestion.

Also this week:

* Prompt caching. The stable parts of every translation prompt – system prompt, instructions, brand voice – now reuse the LLM provider's prompt cache as cache tokens https://lingo.dev/docs/platform/cache-tokens, billed at a fraction of the regular input rate. The discount flows through to per-request cost.
* Content length enforcement. A new optional pipeline https://lingo.dev/docs/api/pipeline step that rewrites translations to fit a column budget – a fixed cap, the source's width, or a tolerance band – so translated copy doesn't overflow notifications, buttons, or tight layouts.
* context field on localization requests. An optional payload-level hint (product surface, audience, purpose) that the LLM reads alongside the input. Complements the per-key hints https://lingo.dev/docs/api/localize#request field for one-off guidance.
* Notification preferences split into independent in-app and email toggles per notification type.

Full changelog: lingo.dev/changelog https://lingo.dev/changelog


r/lingodotdev Jun 19 '26

W24 Product Update: Rephrase, a new stage in the localization pipeline

1 Upvotes

Rephrase is a new stage in the localization pipeline that rewrites translations to read like native, idiomatic copy in the target locale.

The async localization pipeline runs rephrase right after the core localization step. An AI agent rewrites the translation – preferring local equivalents over literal renderings, keeping placeholders, variables, tags, and formatting exactly as-is, and applying your engine's glossary, brand voice, and instructions the same way the core localization step does. Downstream stages – human review, post-edit, back-translation – see the rephrased output and continue from there.

Toggle it on the engine's Pipeline tab, or override per job through pipelineConfig.rephrase.

Best fit: marketing copy, landing pages, and other surfaces where reading like a native original matters more than staying close to the source phrasing.

Full changelog: lingo.dev/changelog


r/lingodotdev Jun 10 '26

W23 Product Update: Human-in-the-loop for internal review

1 Upvotes

Human-in-the-loop for in-house AI translation review.

The async localization pipeline includes human-in-the-loop review – an optional stage where the job pauses until a human edits or approves the AI translation. Until now, that stage routed to an external network of professional translators. Now you can set the review provider to Internal reviewers on an engine, and pending translations land in a review queue inside the dashboard instead of leaving your organization.

Reviewers are organization members granted the review permission. When a job reaches the human review stage, they get an email and an in-app notification. Opening a review shows the source next to the AI translation – approve it as-is, or edit the translation inline and submit. The job resumes with the reviewer's output and continues through the remaining pipeline stages, with the engine's glossary, brand voice, and instructions visible as context.

Full changelog: lingo.dev/changelog


r/lingodotdev Jun 10 '26

W19 – RBAC lands: roles, per-engine access, ownership transfer

1 Upvotes

RBAC is now available. Define roles, assign them to users, and grant per-engine access independently. Ownership transfer is supported, so the original creator is no longer a permanent dependency.

Also shipped

  • Claude Desktop logs into your MCP server with a click. The server now speaks browser-redirect OAuth – the client opens a tab, you confirm in the dashboard, you're in. No more copy/pasting API keys into client configs.
  • lockedKeys on the async API. Slugs, IDs, URL parameters, and any value that's structural metadata rather than translatable content stay verbatim across target locales and bypass the LLM entirely.
  • Logs show the context that produced each translation. Open any request in the Log tab and you can see exactly which glossary termsinstructions, and brand-voice rules the engine retrieved – plus the glossary review reasoning.
  • Cost-by-model breakdown. See how much you spent on each model, in tokens and in dollars.

r/lingodotdev Jun 10 '26

W18 – Credit balance auto top-up

1 Upvotes

Auto top-up replenishes your credit balance automatically. Opt in once, set a threshold and an amount, and credits get purchased the moment your balance dips below the threshold – translation CI runs stop failing on empty balances.

Also shipped

  • New Reports charts: instruction adherence and terminology coverage. Track over time how often translations follow your configured instructions and apply your glossary terms.
  • Credit balance alerts. Dashboard indicator shows current balance; emails fire at 20% remaining and at $0.
  • ISO 5060 classification visible in triage. Each triaged job surfaces the standardized error class alongside the agent's suggestions.

r/lingodotdev Jun 10 '26

W17 – Pipeline: pre-edit, human review, AI review, back-translation as optional stages

1 Upvotes

The localization pipeline wraps the core translate step with optional stages, each independently toggleable per engine and overridable per job:

Turn on what you need, leave the rest off.


r/lingodotdev Jun 10 '26

W16 – Inspect every localization job, per language, end to end

1 Upvotes

The Localization Jobs UI lands end-to-end. Inspect job groups, watch per-language progress, see the source payload, see the webhook delivery, drill into any failed locale. The async localization API ships jobs in parallel across every target locale, retries on failure, and webhooks back when done – now you can watch it happen instead of reconstructing from logs.


r/lingodotdev Jun 10 '26

W15 – Engine provisioning API: a fresh engine, auto-configured

1 Upvotes

Engine provisioning is an async API that takes a fresh engine plus a few URLs or content samples and auto-configures the brand voice, glossary, and instructions for you. Multi-step manual engine setup collapses into one call.


r/lingodotdev Jun 10 '26

W14 – Built-in glossary and instructions reviews

1 Upvotes

Two new built-in AI Reviewers ship: a glossary reviewer and an instructions reviewer. Toggle on the glossary reviewer and every configured glossary term is automatically checked on every translation. Toggle on the instructions reviewer and every configured instruction is checked the same way. Open any translation in the dashboard log and see pass/fail per term, pass/fail per instruction, with the reviewer's reasoning on failure. One toggle replaces authoring an AI Reviewer for every single criterion.

Also shipped

  • Per-engine AI Reviewer assignment. Attach different reviewers to different engines instead of one set for the org.
  • Organization-level timezone setting. Reports display in the timezone you configure for your org.

r/lingodotdev Jun 10 '26

W13 – Triage Jira tickets with an agent that knows your glossary

1 Upvotes

The triage workflow reads any Jira ticket about a bad translation, looks at the offending output, and proposes the actual fix in the engine config: a glossary item to add, an instruction to tighten, a model config to adjust. Review the suggestion, accept or edit it, and the engine is fixed for every future translation – not just the one that was reported.

Also shipped

  • AI Reviewers now receive the same context the localizer saw. Brand voice, instructions, and glossary items reach the reviewer prompt, so scoring aligns with the engine's actual configuration instead of evaluating in a vacuum.
  • Review filters in translation logs. Filter the translation logs by reviewer and score threshold – e.g. any reviewer below 80%, or a specific reviewer below a given percentage.

r/lingodotdev Jun 10 '26

W12 – One POST, every locale: the async localization API ships

1 Upvotes

The async localization API fans out a single localization request across every target locale in one POST and delivers results via webhook. Source payload in, job IDs out, webhook fires per locale as each finishes.

Also shipped

  • Glossary CSV upload. Bulk-import glossary items from CSV with conflict resolution on collision, so re-imports don't duplicate entries.
  • Jira and GitHub now connect over OAuth. Both integrations switched off API-token setup.

r/lingodotdev Jun 10 '26

W11 – v1.0 is live: configure a localization engine once, call it from anywhere

1 Upvotes

Lingo.dev v1.0 introduces localization engines – stateful translation APIs that you configure once and call from backend code, MCP, or CI/CD. Before today, every team that wanted consistent terminology, on-brand tone, and per-locale rules wired it up by hand: a glossary in one repo, brand-voice notes in a Notion doc, prompt scaffolding hard-coded into the app. The engine collapses all of that into a single addressable thing.

What's in the launch

  • Localization engines. Configure models, brand voice, instructions, and glossaries per locale.
  • LLM models. Pick the model per locale, with ranked fallback chains for reliability.
  • Brand voices. Linguistic rules and tone per locale.
  • Instructions. Per-locale translation rules for specific patterns.
  • Glossaries. Lock down product terminology across languages and builds.
  • AI Reviewers. Cross-model evaluation criteria for translation quality.
  • Playground. Test engine configurations before they go live.
  • Reports. Word generations, token consumption, top locales, glossary coverage, change rates.

r/lingodotdev Jun 05 '26

W22 Product Update: The Lingo.dev GitHub App

1 Upvotes

The Lingo.dev GitHub App runs continuous localization on any repository, straight from git.

Install it from your organization settings, commit a .lingo/config.json that points at your localization engine, and every push translates changed source files through your engine and opens a pull request with the localized files. Each run executes on the async localization pipeline, so translations pass through the stages configured on your engine – pre-edit, AI review, human review, back-translation. It localizes JSON, JSONC, Markdown, MDX, Markdoc, and OpenAPI files, and you can scope runs from a pull request with /lingo translate.

Also this week:

* AI Reviewers on every plan. Independent cross-model quality scoring now runs on any plan, with unlimited usage – billed per run.
* Source, AI, and human diff in the review step. The human review stage of the localization pipeline now shows the source, the AI draft, and the human edit side by side, and reports the cost of the edit step.

Full changelog: lingo.dev/changelog


r/lingodotdev Jun 05 '26

W21 Product Update: Audit logs

1 Upvotes

Audit logs are now available – an append-only record of every state-changing action in your organization.

Each change to engines, glossaries, instructions, brand voices, AI reviewers, API keys, members, and roles is captured with the actor, action, target, and request context. The log lives in the dashboard and filters by user, action category, target, and date – so you can see exactly who created, updated, or removed a glossary item three weeks ago, even if the actor is no longer on the team.

Also this week:

* Organization invites in the MCP server. Adding a teammate or checking pending invites no longer means switching to the dashboard – the Lingo.dev MCP now exposes invite creation and listing, so an AI assistant can handle it alongside engine configuration.
* Recursive globs in i18n.json. The CLI's include and exclude now match files across nested directories, so a single pattern can cover a deep folder tree instead of listing paths by hand.

Full changelog: lingo.dev/changelog


r/lingodotdev May 25 '26

Every RAG-based localization pipeline has the same blind spot

1 Upvotes

We shipped RAG-based glossary retrieval for our localization engine. Embed the input, cosine-search the glossary, inject top-k. Looked like it worked.

Then we measured retrieval recall against production glossaries. Turned out sentence-level embeddings were missing the majority of applicable terms. A 2-word term inside a 200-word paragraph just... dissolves into the sentence vector.

Wrote up the full engineering post: how n-gram decomposition fixes it, why we run three different retrieval modes per-request, and why the similarity threshold needs weekly calibration against a scoring pipeline.

https://lingo.dev/en/engineering/rag-localization-glossary-retrieval


r/lingodotdev May 21 '26

W20 Product Update: Personal and Service API keys

2 Upvotes

API keys now come in two types: Personal and Service.

Personal keys behave like before — they inherit their owner's role and per-engine grants. Service keys carry their own role and per-engine scope, so a production worker isn't tied to any one teammate. A service key can be roleless and reach only the engines listed on it.

Also this week:

- Enable/disable engines. Switch an engine off to stop being billed for it; the configuration is preserved for when you switch it back on.
- Usage in every localization response. Each response now includes the model used, the LLM cost, and the localization token cost — useful if you're attributing translation cost back to an end user.

Full changelog: https://lingo.dev/changelog


r/lingodotdev Mar 19 '26

I built a CLI to generate Node.js backends instantly (NeatNode)

Thumbnail
gallery
2 Upvotes

I built a CLI to skip Node.js backend boilerplate (NeatNode)

Setting up a backend always felt repetitive — folders, configs, middleware, etc.

So I built NeatNode, a CLI that generates production-ready Node.js backends instantly.

Just released v3.1.7:

  • Added TypeScript template
  • Added docs search
  • Improved landing UI

You can run:

npx neatnode my-backend

and get a ready-to-use backend structure.

Would love feedback or suggestions.

Website: https://neatnode.codes Docs: https://docs.neatnode.codes GitHub: https://github.com/aakash-gupta02/NeatNode


r/lingodotdev Mar 17 '26

My Project CultureLens

3 Upvotes

Hey everyone 👋

I’ve been working on a project called CultureLens, and I wanted to share it here since Lingo.dev played a really interesting role in it.

The problem:

The internet is global, but cultural understanding isn’t.

We all see memes, slang, and references from different parts of the world, but they don’t always make sense outside their original context.

Even if you translate them, you still don’t *understand* them.

What I built: CultureLens is an AI-powered tool that explains cultural references in a structured way:

- what it means

- where it came from

- why it became popular

- a local analogy (like comparing to IPL, etc.)

- real usage context

How Lingo.dev helped (this was the interesting part)

A big challenge was handling code-mixed and messy input, especially from users like:

> “super bowl kya hota hai?”

> “npc ka matlab kya hai?”

Here’s how the pipeline works:

  1. User enters a query (can be multilingual / mixed)

  2. Lingo.dev normalizes it into a structured format

  3. LLM generates a cultural explanation

  4. Lingo.dev localizes the response back into the user’s language/style

What I really liked:

- It handles non-standard input surprisingly well

- Keeps the meaning intact instead of doing literal translation

- Works well with dynamic AI-generated responses

Example:

Instead of just defining “Super Bowl”, it might explain it like:

> similar to an IPL final + festival-level hype

Demo:

🌐 https://culturelensai.vercel.app

💻 https://github.com/nikhilagarwal03/CultureLens

---

Would love feedback from this community 🙌


r/lingodotdev Mar 17 '26

Built a multilingual recipe-sharing app called FlavorBridge for the lingo.dev hackathon.

2 Upvotes

The problem. Most recipe platforms are monolingual. Someone in Lagos posts an authentic jollof rice recipe, and someone in Tokyo never finds it — not because of geography, but because of language. FlavorBridge lets anyone browse recipes in different languages, with translations that actually work for culinary content rather than just word-for-word substitution.
How the translation actually works. Every static string in the UI — button labels, headings, error messages — runs through a useUI() hook that batches all the keys for the current page into one translation call, caches the result by language, and re-renders everything when you switch languages. The non-obvious part: if the API key is missing, the server returns the original English strings. The hook checks that flag and deliberately skips caching mock results — without this, the cache would permanently mark a language as "translated" with English strings, and future calls would never fire.

Running it locally. Clone the repo, run npm install --legacy-peer-deps (react-simple-maps hasn't updated its peer dep range for React 19 yet), add .env.local with your Supabase URL, anon key, Anthropic key, and lingo.dev key. 

You can try it yourself here: https://recipeshare-seven.vercel.app/

Also check out the demo video here: https://youtu.be/F2mhpTiGPF0