Lingo.dev

Make your AI agent speak every language on the planet, using Lingo.dev Localization Engine.

Lingo.dev

⚡ Lingo.dev - open-source, AI-powered i18n toolkit for instant localization with LLMs.

Lingo.dev Compiler • Lingo.dev CLI • Lingo.dev CI/CD • Lingo.dev SDK

Release License Last Commit


Meet the Compiler 🆕

Lingo.dev Compiler is a free, open-source compiler middleware, designed to make any React app multilingual at build time without requiring any changes to the existing React components.

Install once:

npm install lingo.dev

Enable in your build config:

import lingoCompiler from "lingo.dev/compiler";

const existingNextConfig = {};

export default lingoCompiler.next({ sourceLocale: "en", targetLocales: ["es", "fr"], })(existingNextConfig);

Run next build and watch Spanish and French bundles pop out ✨

Read the docs → for the full guide, and Join our Discord to get help with your setup.


What's inside this repo?

ToolTL;DRDocs
CompilerBuild-time React localization/compiler
CLIOne-command localization for web and mobile apps, JSON, YAML, markdown, + more/cli
CI/CDAuto-commit translations on every push + create pull requests if needed/ci
SDKRealtime translation for user-generated content/sdk

Below are the quick hits for each 👇


⚡️ Lingo.dev CLI

Translate code & content straight from your terminal.

npx lingo.dev@latest run

It fingerprints every string, caches results, and only re-translates what changed.

Follow the docs → to learn how to set it up.


🔄 Lingo.dev CI/CD

Ship perfect translations automatically.

.github/workflows/i18n.yml

name: Lingo.dev i18n on: [push]

jobs: i18n: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: lingodotdev/lingo.dev@main with: api-key: ${{ secrets.LINGODOTDEV_API_KEY }}

Keeps your repo green and your product multilingual without the manual steps.

Read the docs →


🧩 Lingo.dev SDK

Instant per-request translation for dynamic content.

import { LingoDotDevEngine } from "lingo.dev/sdk";

const lingoDotDev = new LingoDotDevEngine({ apiKey: "your-api-key-here", });

const content = { greeting: "Hello", farewell: "Goodbye", message: "Welcome to our platform", };

const translated = await lingoDotDev.localizeObject(content, { sourceLocale: "en", targetLocale: "es", }); // Returns: { greeting: "Hola", farewell: "Adiós", message: "Bienvenido a nuestra plataforma" }

Perfect for chat, user comments, and other real-time flows.

Read the docs →


🤝 Community

We're community-driven and love contributions!

  • Got an idea? Open an issue
  • Want to fix something? Send a PR
  • Need help? Join our Discord

⭐ Star History

If you like what we're doing, give us a ⭐ and help us reach 3,000 stars! 🌟

Star History Chart

🌐 Readme in other languages

English • 中文 • 日本語 • 한국어 • Español • Français • Русский • Deutsch • Italiano • العربية • हिन्दी • বাংলা • فارسی

Don't see your language? Add it to i18n.json and open a PR!

Related Servers