Lingo.dev
officialMake your AI agent speak every language on the planet, using Lingo.dev Localization Engine.
What can you do with Lingo Dev MCP?
- Set up i18n in a React app — ask the AI to scaffold internationalization for Next.js, React Router, or TanStack Start using
Lingo React MCP. - Localize content files via CLI — run
npx lingo.dev@latest runto translate JSON, YAML, Markdown, CSV, or PO files with change-aware lockfile tracking. - Add continuous localization to CI/CD — configure the
lingodotdev/lingo.dev@mainGitHub Action to translate new strings on every push. - Call a localization engine from backend code — use the Lingo.dev API for synchronous or async translation with webhook delivery and per-locale failure isolation.
Documentation
Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.
Lingo API • Lingo React MCP • Lingo CLI • Lingo GitHub Action • Lingo Compiler for React (Early alpha)
Quick Start
| Tool | What it does | Quick Command |
|---|---|---|
| Lingo React MCP | AI-assisted i18n setup for React apps | Prompt: Set up i18n |
| Lingo CLI | Localize JSON, YAML, markdown, CSV, PO files | npx lingo.dev@latest run |
| Lingo GitHub Action | Continuous localization in GitHub Actions | uses: lingodotdev/lingo.dev@main |
| Lingo Compiler for React | Build-time React localization without i18n wrappers | withLingo() plugin |
Localization engines
These tools connect to localization engines – stateful translation APIs you create on the Lingo.dev localization engineering platform. Each engine persists glossaries, brand voice, and per-locale instructions across every request, reducing terminology errors 16.6–44.6%. Or bring your own LLM.
Lingo.dev MCP
Setting up i18n in React apps is error-prone – even AI coding assistants hallucinate non-existent APIs and break routing. Lingo.dev MCP gives AI assistants structured access to framework-specific i18n knowledge for Next.js, React Router, and TanStack Start. Works with Claude Code, Cursor, GitHub Copilot Agents, and Codex.
Read the docs →
Lingo.dev CLI
Localize JSON, YAML, markdown, CSV, and PO files in one command. A lockfile tracks what's already localized – only new or changed content gets processed. Defaults to your localization engine on Lingo.dev, or bring your own LLM (OpenAI, Anthropic, Google, Mistral, OpenRouter, Ollama).
npx lingo.dev@latest init npx lingo.dev@latest run
Read the docs →
Lingo.dev CI/CD
Continuous localization in your pipeline. Every push triggers localization – missing strings get filled before code reaches production. Supports GitHub Actions, GitLab CI/CD, and Bitbucket Pipelines.
uses: lingodotdev/lingo.dev@main with: api-key: ${{ secrets.LINGODOTDEV_API_KEY }}
Read the docs →
Lingo.dev API
Call your localization engine directly from backend code. Synchronous and async localization with webhook delivery, failure isolation per locale, and real-time progress via WebSocket.
Read the docs →
Lingo Compiler for React (Early alpha)
Build-time React localization without i18n wrappers. Write components with plain English text – the compiler detects translatable strings and generates localized variants at build time. No translation keys, no JSON files, no t() functions. Supports Next.js (App Router) and Vite + React.
Read the docs →
Contributing
Contributions welcome. Please follow these guidelines:
- Issues: Report bugs or request features
- Pull Requests: Submit changes
- Every PR requires a changeset:
pnpm new(orpnpm new:emptyfor non-release changes) - Ensure tests pass before submitting
- Every PR requires a changeset:
- Development: This is a pnpm + turborepo monorepo
- Install dependencies:
pnpm install - Run tests:
pnpm test - Build:
pnpm build
- Install dependencies:
Support: Discord community
Star History
If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!
Localized Documentation
Available translations:
English • 中文 • 日本語 • 한국어 • Español • Français • Русский • Українська • Deutsch • Italiano • العربية • עברית • हिन्दी • Português (Brasil) • বাংলা • فارسی • Polski • Türkçe • اردو • भोजपुरी • অসমীয়া • ગુજરાતી • मराठी • ଓଡ଼ିଆ • ਪੰਜਾਬੀ • සිංහල • தமிழ் • తెలుగు
Adding a new language:
- Add locale code to
i18n.jsonusing BCP-47 format - Submit a pull request