lingo.dev
Lingo.dev 是一款开源的 AI 驱动国际化(i18n)工具包,旨在帮助开发者快速、准确地实现应用的多语言本地化。它利用大语言模型(LLM)的能力,可以自动翻译 JSON、YAML、Markdown 等多种格式的文本内容,并提供了从开发到部署的全套工具链。
它主要解决了传统本地化流程中手动翻译效率低下、容易出错,以及在不同框架中配置 i18n 复杂且容易遗漏的问题。特别是对于 React 生态(如 Next.js、React Router)的应用,设置 i18n 通常需要跨多个文件进行一系列协调更改,而 AI 助手常常会“幻觉”出错误的 API 或配置。Lingo.dev 通过其 MCP(模型上下文协议)服务器,为 Claude、Cursor 等 AI 编程助手提供了结构化的、经过验证的框架知识,让 AI 能可靠地一键完成完整的 i18n 初始化设置。
这个工具非常适合需要为产品添加多语言支持的开发者和团队使用。无论是前端开发者想要在 React 应用中集成本地化,还是 DevOps 工程师希望在 CI/CD 流水线中自动化翻译流程,都能通过它的 CLI、SDK、CI/CD 集成和编译器找到对应的解决方案。
其独特的技术亮点在于“AI 原生”的设计思路:你可以使用 Lingo.dev 自带的本地化引擎,也可以轻松接入自己的 LLM(如 OpenAI、Anthropic 的模型)。此外,它的编译器允许在构建时完成 React 应用的本地化,无需在运行时引入额外的 i18n 包装器,有助于提升应用性能。
使用场景
场景背景:一个三人前端团队正在开发一款面向全球用户的电商 SaaS 平台,产品经理要求在两周内为仪表盘新增多语言支持,涵盖英语、西班牙语和日语。团队使用 Next.js App Router,但此前项目没有国际化(i18n)基础。
没有 lingo.dev 时
- 手动配置繁琐易错:开发者需要手动研究并配置
next-intl或react-i18next的中间件、路由结构、语言检测逻辑,一个步骤出错就可能导致页面白屏或路由混乱,耗费大量调试时间。 - 翻译管理混乱:团队成员在 JSON 文件中各自添加翻译键值,缺乏统一规范,经常出现键名冲突、漏翻译或格式不一致的问题,合并代码时冲突频发。
- AI 助手“幻觉”误导:当尝试让 Claude 或 Copilot 协助编写 i18n 设置时,AI 经常推荐过时的 API 或虚构的配置项,开发者需要花费大量精力验证和修正,反而降低了效率。
- 动态内容翻译无解:对于从后端 API 实时获取的产品名称、促销文案等动态内容,团队没有成熟的运行时翻译方案,只能临时拼接字符串,导致用户体验割裂。
使用 lingo.dev 后
- MCP 提供精准引导:在 IDE 中直接提示“Set up i18n with locales: en, es, ja”,lingo.dev 的 MCP 服务器为 AI 助手提供了经过验证的 Next.js i18n 模式,自动生成正确的中间件、路由配置和组件包装代码,一次成功运行。
- CLI 统一翻译流程:开发者通过
npx lingo.dev run命令,即可用 LLM 批量翻译或校对项目中的所有 JSON、YAML 文件,确保术语一致,并将翻译文件自动归集到标准化目录,减少了人为失误。 - CI/CD 自动化质量检查:在 GitHub Actions 中集成 lingo.dev 工作流,每次提交代码时自动检查翻译覆盖率、键名一致性,并标记未翻译内容,使翻译状态对团队透明。
- SDK 处理动态内容:在需要渲染后端数据的 React 组件中,引入
lingo.devSDK,调用其translate函数即可实时翻译动态文本,并利用缓存机制保证性能,实现了静态与动态内容的统一国际化处理。
lingo.dev 将原本需要数天、充满不确定性的国际化工程,转化为一个由自动化工具链保障的、可预测的高效流程。
运行环境要求
- 未说明
未说明
未说明

快速开始
Lingo.dev - 面向 LLM 驱动的本地化的开源 i18n 工具包
快速开始
| 工具 | 使用场景 | 快速命令 |
|---|---|---|
| MCP | React 应用的 AI 辅助 i18n 设置 | 提示词: Set up i18n |
| CLI | 翻译 JSON、YAML、markdown、CSV、PO 文件 | npx lingo.dev@latest run |
| CI/CD | GitHub Actions 中的自动化翻译管道 | uses: lingodotdev/lingo.dev@main |
| SDK | 动态内容的运行时翻译 | npm install lingo.dev |
| 编译器 | 无需 i18n 包装器的构建时 React 本地化 | withLingo() 插件 |
Lingo.dev MCP
在 React 应用中设置 i18n 是出了名的容易出错——即使对于经验丰富的开发者也是如此。AI 编码助手让情况变得更糟:它们会幻想出不存在的 API、忘记中间件配置、破坏路由,或者在迷失方向之前只实现了一半的解决方案。问题在于 i18n 设置需要在多个文件(路由、中间件、组件、配置)中进行一系列精确协调的更改,而 LLM 难以维持这种上下文。
Lingo.dev MCP 通过为 AI 助手提供对特定框架 i18n 知识的结构化访问来解决这个问题。您的助手无需猜测,而是遵循针对 Next.js、React Router 和 TanStack Start 的经过验证的实现模式。
支持的 IDE:
- Claude Code
- Cursor
- GitHub Copilot Agents
- Codex (OpenAI)
支持的框架:
- Next.js (App Router & Pages Router v13-16)
- TanStack Start (v1)
- React Router (v7)
用法:
在您的 IDE 中配置好 MCP 服务器后(查看快速入门指南),向您的助手发出提示:
Set up i18n with the following locales: en, es, and pt-BR. The default locale is 'en'.
助手将:
- 配置基于区域设置的路由(例如,
/en、/es、/pt-BR) - 设置语言切换组件
- 实现自动区域设置检测
- 生成必要的配置文件
注意: AI 辅助的代码生成具有不确定性。提交前请审查生成的代码。
Lingo.dev CLI
保持翻译同步是件繁琐的事。您添加了一个新字符串,忘记翻译它,然后将损坏的 UI 交付给国际用户。或者您将 JSON 文件发送给翻译人员,等待数天,然后手动合并他们的工作。扩展到 10 多种语言意味着管理数百个不断失去同步的文件。
Lingo.dev CLI 自动化了此过程。将其指向您的翻译文件,运行一个命令,每个区域设置都会更新。一个锁文件跟踪已翻译的内容,因此您只需为新内容或更改的内容付费。支持 JSON、YAML、CSV、PO 文件和 markdown。
设置:
# 初始化项目
npx lingo.dev@latest init
# 运行翻译
npx lingo.dev@latest run
工作原理:
- 从配置的文件中提取可翻译内容
- 将内容发送给 LLM 提供商进行翻译
- 将翻译后的内容写回文件系统
- 创建
i18n.lock文件以跟踪已完成的翻译(避免冗余处理)
配置:
init 命令会生成一个 i18n.json 文件。配置区域设置和存储桶:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"]
}
}
}
provider 字段是可选的(默认为 Lingo.dev Engine)。对于自定义 LLM 提供商:
{
"provider": {
"id": "openai",
"model": "gpt-4o-mini",
"prompt": "Translate from {source} to {target}"
}
}
支持的 LLM 提供商:
- Lingo.dev Engine (推荐)
- OpenAI
- Anthropic
- Mistral
- OpenRouter
- Ollama
Lingo.dev CI/CD
翻译功能总是处于“即将完成”的状态。工程师合并代码时常常忘记更新本地化文件。质量保证(Quality Assurance,简称 QA)在预发布环境发现缺失的翻译——更糟的是,用户在生产环境中发现了它们。根本原因在于:翻译是一个手动步骤,在截止日期的压力下很容易被跳过。
Lingo.dev CI/CD 让翻译自动化。每次推送代码都会触发翻译。缺失的字符串在代码进入生产环境之前就会被填充。无需强制纪律——流水线会处理一切。
支持的平台:
- GitHub Actions
- GitLab CI/CD
- Bitbucket Pipelines
GitHub Actions 设置:
创建 .github/workflows/translate.yml 文件:
name: Translate
on:
push:
branches: [main]
permissions:
contents: write
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lingo.dev
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}
设置要求:
- 将
LINGODOTDEV_API_KEY添加到仓库的 Secrets 中(设置 > Secrets and variables > Actions) - 对于 PR 工作流:在 设置 > Actions > General 中启用 "Allow GitHub Actions to create and approve pull requests"
工作流选项:
直接提交翻译:
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}
创建包含翻译的拉取请求(Pull Request,简称 PR):
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}
pull-request: true
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
可用输入参数:
| 输入参数 | 默认值 | 描述 |
|---|---|---|
api-key |
(必填) | Lingo.dev API 密钥 |
pull-request |
false |
创建 PR 而非直接提交 |
commit-message |
"feat: update translations via @LingoDotDev" |
自定义提交信息 |
pull-request-title |
"feat: update translations via @LingoDotDev" |
自定义 PR 标题 |
working-directory |
"." |
运行目录 |
parallel |
false |
启用并行处理 |
Lingo.dev SDK
静态翻译文件适用于 UI 标签,但用户生成的内容呢?聊天消息、产品描述、支持工单——这些在构建时不存在的内容无法预先翻译。你只能显示未翻译的文本,或者构建一个自定义的翻译管道。
Lingo.dev SDK 在运行时翻译内容。传入任何文本、对象或 HTML,即可获得本地化版本。适用于实时聊天、动态通知或任何在部署后到达的内容。支持 JavaScript、PHP、Python 和 Ruby。
安装:
npm install lingo.dev
用法:
import { LingoDotDevEngine } from "lingo.dev/sdk";
const lingoDotDev = new LingoDotDevEngine({
apiKey: process.env.LINGODOTDEV_API_KEY,
});
// 翻译对象(保留结构)
const translated = await lingoDotDev.localizeObject(
{ greeting: "Hello", farewell: "Goodbye" },
{ sourceLocale: "en", targetLocale: "es" },
);
// { greeting: "Hola", farewell: "Adiós" }
// 翻译文本
const text = await lingoDotDev.localizeText("Hello!", {
sourceLocale: "en",
targetLocale: "fr",
});
// 同时翻译成多种语言
const results = await lingoDotDev.batchLocalizeText("Hello!", {
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
});
// 翻译聊天记录(保留说话者姓名)
const chat = await lingoDotDev.localizeChat(
[{ name: "Alice", text: "Hello!" }],
{ sourceLocale: "en", targetLocale: "es" },
);
// 翻译 HTML(保留标记)
const html = await lingoDotDev.localizeHtml("<h1>Welcome</h1>", {
sourceLocale: "en",
targetLocale: "de",
});
// 检测语言
const locale = await lingoDotDev.recognizeLocale("Bonjour le monde");
// "fr"
可用的 SDK:
- JavaScript SDK - Web 应用,Node.js
- PHP SDK - PHP, Laravel
- Python SDK - Django, Flask
- Ruby SDK - Rails
Lingo.dev 编译器
传统的国际化(i18n)方案侵入性强。你需要用 t() 函数包装每个字符串,发明翻译键(如 home.hero.title.v2),维护并行的 JSON 文件,并看着你的组件因本地化样板代码而膨胀。这非常繁琐,以至于团队常常将国际化工作推迟,直到它变成一次大规模重构。
Lingo.dev 编译器消除了这些繁文缛节。用纯英文文本编写 React 组件。编译器在构建时检测可翻译的字符串,并自动生成本地化变体。无需翻译键,无需 JSON 文件,无需包装函数——只需编写恰好能支持多语言的 React 代码。
安装:
pnpm install @lingo.dev/compiler
认证:
# 推荐:在 lingo.dev 注册并登录
npx lingo.dev@latest login
# 备选:将 API 密钥添加到 .env 文件
LINGODOTDEV_API_KEY=your_key_here
Lingo.dev
Lingo 是一个编译器,可将你的 React 应用自动翻译成多种语言。它直接在构建时处理翻译,因此你的应用在运行时无需承担任何翻译开销。
工作原理
- 检测:Lingo 在构建时扫描你的代码,自动识别 JSX 中的所有可翻译文本
- 翻译:使用大型语言模型(LLM)将文本翻译成目标语言
- 编译:为每种语言生成独立的、完全本地化的构建版本
快速开始
安装:
npm install @lingo.dev/compiler
环境变量:
# 使用 Lingo.dev 托管的模型(推荐)
LINGO_API_KEY=your_key
# 或使用直接的 LLM 提供商(Groq、OpenAI、Anthropic、Google)
GROQ_API_KEY=your_key
配置(Next.js):
// next.config.ts
import type { NextConfig } from "next";
import { withLingo } from "@lingo.dev/compiler/next";
const nextConfig: NextConfig = {};
export default async function (): Promise<NextConfig> {
return await withLingo(nextConfig, {
sourceRoot: "./app",
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
models: "lingo.dev",
dev: { usePseudotranslator: true },
});
}
配置(Vite):
// vite.config.ts
import { lingoCompilerPlugin } from "@lingo.dev/compiler/vite";
export default defineConfig({
plugins: [
lingoCompilerPlugin({
sourceRoot: "src",
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
models: "lingo.dev",
dev: { usePseudotranslator: true },
}),
react(),
],
});
Provider 设置:
// app/layout.tsx (Next.js)
import { LingoProvider } from "@lingo.dev/compiler/react";
export default function RootLayout({ children }) {
return (
<LingoProvider>
<html>
<body>{children}</body>
</html>
</LingoProvider>
);
}
语言切换器:
import { useLocale, setLocale } from "@lingo.dev/compiler/react";
export function LanguageSwitcher() {
const locale = useLocale();
return (
<select value={locale} onChange={(e) => setLocale(e.target.value)}>
<option value="en">English</option>
<option value="es">Español</option>
</select>
);
}
开发: npm run dev(使用伪翻译器,无 API 调用)
生产: 设置 usePseudotranslator: false,然后执行 next build
将 .lingo/ 目录提交到版本控制。
主要特性:
- 零运行时性能开销
- 无需翻译键或 JSON 文件
- 无需
t()函数或<T>包装组件 - 自动检测 JSX 中的可翻译文本
- TypeScript 支持
- 用于复数的 ICU MessageFormat
- 通过
data-lingo-override属性进行手动覆盖 - 内置翻译编辑器小部件
构建模式:
pseudotranslator:使用占位符翻译的开发模式(无 API 成本)real:使用 LLM 生成实际翻译cache-only:使用 CI 中预生成翻译的生产模式(无 API 调用)
支持的框架:
- Next.js(使用 React 服务器组件的 App Router)
- Vite + React(SPA 和 SSR)
计划支持更多框架。
贡献
欢迎贡献。请遵循以下指南:
- 问题: 报告错误或请求功能
- 拉取请求: 提交更改
- 每个 PR 都需要一个变更集:
pnpm new(或对于非发布更改使用pnpm new:empty) - 提交前确保测试通过
- 每个 PR 都需要一个变更集:
- 开发: 这是一个 pnpm + turborepo 单体仓库
- 安装依赖:
pnpm install - 运行测试:
pnpm test - 构建:
pnpm build
- 安装依赖:
支持: Discord 社区
Star 历史
如果你觉得 Lingo.dev 有用,请给我们一个 star,帮助我们达到 10,000 个 star!
本地化文档
可用翻译:
English • 中文 • 日本語 • 한국어 • Español • Français • Русский • Українська • Deutsch • Italiano • العربية • עברית • हिन्दी • Português (Brasil) • বাংলা • فارسی • Polski • Türkçe • اردو • भोजपुरी • অসমীয়া • ગુજરાતી • मराठी • ଓଡ଼ିଆ • ਪੰਜਾਬੀ • සිංහල • தமிழ் • తెలుగు
添加新语言:
BCP-47 语言环境格式: 语言[-脚本][-区域]
语言:ISO 639-1/2/3(小写):en、zh、bho脚本:ISO 15924(首字母大写):Hans、Hant、Latn区域:ISO 3166-1 alpha-2(大写):US、CN、IN- 示例:
en、pt-BR、zh-Hans、sr-Cyrl-RS
版本历史
@lingo.dev/_sdk@0.16.22026/03/31@lingo.dev/_compiler@0.12.22026/03/31lingo.dev@0.133.72026/03/26lingo.dev@0.133.62026/03/26lingo.dev@0.133.52026/03/24lingo.dev@0.133.42026/03/20@lingo.dev/_sdk@0.16.12026/03/20@lingo.dev/_compiler@0.12.12026/03/20lingo.dev@0.133.32026/03/16lingo.dev@0.133.22026/03/12lingo.dev@0.133.12026/03/08lingo.dev@0.133.02026/03/07@lingo.dev/compiler@0.4.02026/03/07@lingo.dev/_spec@0.49.02026/03/07@lingo.dev/_sdk@0.16.02026/03/07@lingo.dev/_compiler@0.12.02026/03/07lingo.dev@0.132.92026/03/04lingo.dev@0.133.92026/04/02lingo.dev@0.133.82026/03/31lingo.dev@0.132.102026/03/04常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
