Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

1,923 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Lingo.dev – localization engineering platform

Open-source localization engineering tools. Connect to Lingo.dev localization engineering platform for consistent, quality translations.


Lingo APILingo React MCPLingo CLILingo GitHub ActionLingo Compiler for React (Early alpha)

ReleaseLicenseLast CommitProduct Hunt #1 DevTool of the MonthProduct Hunt #1 DevTool of the WeekProduct Hunt #2 Product of the DayGithub trending


Quick Start

ToolWhat it doesQuick Command
Lingo React MCPAI-assisted i18n setup for React appsPrompt: Set up i18n
Lingo CLILocalize JSON, YAML, markdown, CSV, PO filesnpx lingo.dev@latest run
Lingo GitHub ActionContinuous localization in GitHub Actionsuses: lingodotdev/lingo.dev@main
Lingo Compiler for ReactBuild-time React localization without i18n wrapperswithLingo() 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@mainwith:
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:

  1. Issues:Report bugs or request features
  2. Pull Requests:Submit changes
    • Every PR requires a changeset: pnpm new (or pnpm new:empty for non-release changes)
    • Ensure tests pass before submitting
  3. Development: This is a pnpm + turborepo monorepo
    • Install dependencies: pnpm install
    • Run tests: pnpm test
    • Build: pnpm build

Support:Discord community

Star History

If you find Lingo.dev useful, give us a star and help us reach 10,000 stars!

Star History Chart

Localized Documentation

Available translations:

English中文日本語한국어EspañolFrançaisРусскийУкраїнськаDeutschItalianoالعربيةעבריתहिन्दीPortuguês (Brasil)বাংলাفارسیPolskiTürkçeاردوभोजपुरीঅসমীয়াગુજરાતીमराठीଓଡ଼ିଆਪੰਜਾਬੀසිංහලதமிழ்తెలుగు

Adding a new language:

  1. Add locale code to i18n.json using BCP-47 format
  2. Submit a pull request

About

Open-source localization engineering tools. Connects to Lingo.dev localization engineering platform for consistent, quality translations.

Topics

Resources

Code of conduct

Contributing

Stars

5.4k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages