Lingo.dev 的 CLI 可通过已配置的 localization engine 翻译你的 Web 应用资源文件——包括 JSON、YAML、XLIFF、PO 和 PHP。先在框架中完成 i18n 配置,再让 CLI 指向翻译文件并运行即可。
工作原理#
每种 Web 框架都有自己的 i18n 库,用于从资源文件中加载翻译——比如 React 用 JSON,Angular 用 XLIFF,Django 用 PO,等等。CLI 会直接翻译这些文件,因此无需修改任何代码,框架就能自动读取翻译结果。
在框架中设置 i18n
使用框架官方提供的 i18n 库,添加支持 locale 的路由、翻译函数以及源语言资源文件。下方各框架章节均附有对应的官方配置指南。
配置 CLI
创建一个 i18n.json 文件,告诉 CLI 你的翻译文件在哪里,以及要面向哪些 locale。bucket 类型需与你的框架资源格式保持一致。
运行翻译
运行 npx lingo.dev@latest run 后,CLI 就会通过 localization engine 翻译你的资源文件——术语表规则、品牌语气和模型选择都会自动生效。
前置条件#
每次运行 CLI,内容都会经过一个 localization engine——它决定使用哪个 LLM 模型、术语表、品牌语气和指令配置。你可以在 Lingo.dev 控制台中创建一个,并生成 API key。
AI 辅助配置
i18n MCP 可以自动为你的框架搭建完整的 i18n 基础设施。将它连接到 Claude Code、Cursor 或 GitHub Copilot,然后输入提示词“Set up i18n”——代理会按照一份 13 步清单,完成路由、翻译文件和语言切换器的配置。
JavaScript 框架#
react-i18next 从 JSON 文件中加载翻译,并提供一个 useTranslation hook,在运行时将键映射为对应的译文。
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["public/locales/[locale]/translation.json"]
}
}
}服务端框架#
Laravel 自带 内置本地化能力,可从按 locale 目录组织的 PHP 文件中加载翻译。
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"php": {
"include": ["lang/[locale]/messages.php"]
}
}
}运行翻译#
配置好 i18n.json 后,只需一条命令即可翻译全部资源文件:
npx lingo.dev@latest runCLI 会读取你的源 locale 文件,借助 lockfile 计算自上次运行以来的变更,只翻译增量内容,并将结果写入目标 locale 文件。已有翻译会被保留——CLI 只会补齐缺失或已更新的字符串。
如果你只想处理其中一部分,也可以指定特定的 locale 或 bucket:
npx lingo.dev@latest run --target-locale es
npx lingo.dev@latest run --bucket json