L10n.dev - AI Localization Agent
io.github.l10n-dev由 GitHub 账号 l10n-dev 发布v1.2.0更新于 Oct 24, 2026
MCP Server that turns your AI agent into a localization expert with token-efficient i18n translation
概览
本地 MCP 服务器,将 AI 助手连接到 l10n.dev 本地化服务,在保留格式和占位符的前提下翻译 i18n 文件。
- 可以做什么
- 翻译 i18n 源文件到一个或多个目标语言,并根据文件夹或文件命名规则识别项目结构、源语言、目标语言和目标文件路径,可用语言代码正则处理自定义命名。按语言对管理语言风格指令:列出、创建、更新和删除语气、风格或品牌用语规则。管理术语表及其条目:列出、查看、创建、更新、删除,以及添加或移除词条。查询账户字符余额,并在本地保存 API 密钥或检查其配置状态。两个提示可引导项目设置,以及通过 GitHub Actions 或 npm 脚本配置自动化翻译。
- 适用场景
- 适合需要把 JSON、ARB、YAML、PO、XLIFF 或 Markdown 等应用本地化文件翻译成多种语言、保持术语一致并保留占位符,又不想把大文件粘贴进对话的场景。也适合搭建定期或 CI 驱动的翻译流程。
- 运行要求
- 通过 npx(Node.js)以 stdio 在本地运行。需要 l10n.dev 账户和 API 密钥,可通过 L10N_API_KEY 环境变量提供,或用 set-api-key 工具保存在本地。需要访问 l10n.dev 服务的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 L10n.dev - AI Localization Agent,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
ai-l10n-mcp
MCP server that gives AI agents access to l10n.dev — a professional localization service purpose-built for software i18n files.
When an AI agent needs to translate your app, the naive approach is to paste file contents into the chat. That breaks down fast: localization files are large, formats are strict, placeholders must survive verbatim, glossaries drift across sessions, and the agent has no memory between runs. This MCP replaces that fragile workflow with a dedicated localization engine that the agent calls as a tool — getting professional-grade output without wasting context window on raw file contents.
Think of it as giving your AI agent a professional localization co-pilot: the agent handles intent and orchestration; l10n.dev handles the actual translation with accuracy, consistency, and format guarantees.
Why use this instead of asking your AI agent directly?
Features
- 165 Languages — translate to the full range of world languages in one call
- Format guaranteed — JSON, JSONC, Flutter ARB, YAML, PO (gettext), XLIFF, MD and all text-based i18n formats; placeholders, keys, and structure preserved and validated after translation
- Auto-detect target languages from project structure
- Persistent glossary — generate a glossary from your content, save it, and have it applied automatically across every subsequent file and chunk for consistent terminology
- Linguistic instructions — save style/tone rules per language pair (e.g. "Use formal tone")
- Incremental translation — hash-based change detection skips strings already translated, saving quota and protecting existing translations
- Proactive quality control — checks instructions and glossary for each language pair before translating, not after
Connect Claude Desktop, Cursor, Windsurf, GitHub Copilot, OpenAI Codex, or any MCP-compatible agent directly to l10n.dev's translation engine.
Installation & Configuration
Getting an API key
Create a free account and get your API key at https://l10n.dev/ws/api-keys
Tip: Instead of setting
L10N_API_KEYin each config, you can ask the AI to store your key withl10n_set_api_key. The key is saved to~/.ai-l10n/config.jsonand used automatically.
Claude Desktop
In Claude Desktop, open Settings > Developer > Edit Config. Claude Desktop will open the correct MCP config file for your install. On macOS this is typically ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows, the backing path can vary by installation, so prefer Edit Config instead of navigating manually. Add:
Cursor
Open Customize in Cursor to add and manage MCP servers. For a file-based setup, create one of these configs:
~/.cursor/mcp.jsonfor a user-wide setup.cursor/mcp.jsonin your project for a workspace-specific setup
Add:
Windsurf
In Windsurf, open the MCPs panel in Cascade, or go to Devin Settings > Cascade > MCP Servers. If you need to add it manually, edit ~/.codeium/windsurf/mcp_config.json and add:
GitHub Copilot (VS Code)
Open the Command Palette and select MCP: Open User Configuration. Alternatively, create a .vscode/mcp.json file in your workspace or user settings. Add:
OpenAI Codex (CLI and IDE)
Add to ~/.codex/config.toml for a user-wide setup, or .codex/config.toml in a trusted project:
You can also add it from the terminal:
Claude Code (CLI and VS Code extension)
Add the server from the terminal:
For a shared project setup, Claude Code can also store MCP servers in a .mcp.json file at your project root.
Available Tools
Translation
Both tools detect language codes in language-code folders (locales/en/common.json,
reported as folder-based) and in file names (file-based) — whether the name is the code
itself (locales/en.json) or holds it alongside other parts (app_en.arb,
locales/emails.en.json, locales/en-US.common.json, messages_en_US.properties). For
naming conventions that are not recognized, pass languageCodeRegex, a regex containing a
(?<language>...) group, e.g. ^emails\.(?<language>[\w-]+)\.json$. The text around the
group is reused for target files, so emails.en.json produces emails.ru-RU.json.
Linguistic Instructions
Glossary
Account
Available Prompts
l10n_project_setup
Guides through checking and configuring linguistic instructions and glossaries for optimal translation quality. Invoke it at the start of a new project or when reviewing l10n.dev settings.
Arguments:
sourceLanguage— source language code (default:en)targetLanguages— comma-separated target language codes (e.g.es,fr,de)
l10n_setup_automation
Scans the project for i18n source files (using l10n_detect_project_structure), checks linguistic instructions, glossary, and balance, then interactively sets up fully automated translation via GitHub Actions or npm scripts.
For GitHub Actions, guides through four trigger options:
- A) On every push to
main— translate and commit back directly - B) On pull requests — translate and open a PR for review
- C) On a schedule — translate nightly or on a cron
- D) Manual trigger only —
workflow_dispatch
Writes ai-l10n.config.json and .github/workflows/translate.yml (or updates package.json scripts), then tells you where to add the API key and what happens on the next trigger.
Arguments:
sourceLanguage— source language code (default:en)targetLanguages— comma-separated target language codes (e.g.es,fr,de)
Example Workflow
User: "Translate my app to Spanish and French"
Claude (with this MCP server) will:
- Call
l10n_list_instructions— finds no instruction fores/frlanguage pairs - Ask: "No instruction found for Spanish/French — would you like to set a tone/style rule before translating? (e.g. formal, casual, keep brand terms untranslated)"
- User says: "Tone should be informal, it's for a food app in Latin America"
- Call
l10n_create_instructionwith the style rule - Call
l10n_list_glossaries— finds no active glossary fores/fr - Ask: "No glossary found for Spanish/French — enable glossary generation for this run? It saves key terms for consistent future translations."
- User says: "Yes"
- Detect that
es.jsonandfr.jsonalready exist — ask: "Target files already exist — enable incremental mode to skip unchanged strings and save quota?" - User says: "Yes"
- Call
l10n_translate_filewithsourceFile,targetLanguages: ["es", "fr"],instruction,generateGlossary: true,translateOnlyNewStrings: true - Report results
Incremental Translation
For JSON-based formats, enable translateOnlyNewStrings: true to skip strings that are already translated. A hash of each source string (not content itself) is stored on the l10n.dev server for change detection — only added or changed strings are translating, saving your character quota.
Note: First translation it translates only added strings, because hash table is empty to detect changed strings.
Automation: CLI and GitHub Actions
For CI/CD automation and command-line usage, see:
- ai-l10n CLI — translate files from the terminal or CI pipelines
- GitHub Action — auto-translate on push, PR, or manual trigger
Pricing
- Free tier — 10,000 characters free every month, no credit card required.
- Pay-as-you-go — Affordable character-based pricing with no subscription required.
- Current packages — Visit l10n.dev/#pricing for up-to-date pricing.
Privacy & Security
- No data retention — Source text and translations are not stored on l10n.dev servers beyond the time needed to process the request.
- Encrypted communication — All API calls use HTTPS.
- Privacy first — Built by developers for developers, with privacy, reliability, and quality as core priorities.
Support
License
MIT
来源:mcp/README.md,提交 ad14f7e
工具
0版本历史
1- v1.2.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分