<!-- title: 出海别手翻JSON：AI本地化三件套 -->
<!-- domain: new-tools -->

# 出海别手翻JSON：AI本地化三件套

你做出海产品，UI文案要支持英语、日语、西语……传统流程是：把 `zh-CN.json` 丢给翻译公司或自己开着 ChatGPT 一段段翻，再手动贴回去。改一行文案，整套流程重来一遍。而海外出海圈现在的主流玩法是：**把本地化接进 Git 流水线——代码一合并，AI 自动翻译，机器人直接给你发 PR**。国内公开讨论里，这套“Dev 级 AI 本地化”的完整打法还很少见有人系统讲过。今天给你拆三个开源工具：Lingo.dev、General Translation、Intlayer，外加一个编译期方案 Paraglide JS。

## 一、为什么“手翻 JSON”是出海团队的隐形税

先算一笔账。一个中等规模的 SaaS 产品，界面文案通常在 2000~10000 条之间。按传统方式出海：

- **外包翻译公司**：按字收费，一轮下来几百到几千美元，周期以“天”计；
- **自己调 GPT 翻**：免费但极脆——JSON 的占位符（`{count}`、`%s`）被改坏、HTML 标签被翻掉、复数规则（俄语有 3 种复数形式）翻译错、两轮翻译之间术语不一致，这些坑每一个都会变成线上 bug；
- **最贵的是“改一处翻一轮”**：产品迭代快，文案天天变，本地化永远欠账。

海外的解法是把 i18n 文件当成代码来管：**只维护源语言，其余语言由 AI 在 CI 里按 diff 增量翻译，人工只做抽查**。这个模式不是某个工具的独家功能，而是已经形成了开源工具生态。

## 二、三件套逐一拆解

### 1. Lingo.dev：把翻译机器人塞进你的 GitHub

**是什么**：一个开源的 AI 本地化引擎（官网 [lingo.dev](https://lingo.dev)，源码在 [github.com/lingo-dev/lingo.dev](https://github.com/lingo-dev/lingo.dev)），核心卖点是“只翻新增的、不碰锁定的”。

**核心玩法**：

1. 项目根目录放一个 `i18n.json`，声明源语言、目标语言和文案文件的位置（bucket）；
2. 在 GitHub 仓库装上它的 App 或 Action；
3. 之后你正常开发——只要源语言文件里有新增文案，机器人自动翻译所有目标语言，**直接给你开一个翻译 PR**，你在 PR 里抽查、合并。

**三个杀手级细节**：

- **锁定机制（locked keys）**：你已经人工润色过的文案可以锁死，AI 永远不改，避免“越翻越回去”；
- **增量 diff**：只翻新增和修改的 key，上万条文案的仓库也不会每次全量重翻烧 token；
- **格式保真**：占位符、HTML 标签、Markdown 结构受保护，这是“手动让 GPT 翻 JSON”最容易翻车的地方。

**进阶**：据官方介绍，它还推出了 Lingo.dev Compiler——构建期直接扫描 React 应用的文案并生成多语言版本，号称几乎不用改业务代码就能让站点变多语言（细节以官方文档为准）。另外它不限于 Web：JSON/YAML/Markdown/CSV 等常见格式都能作为 bucket 接入，连终端工具的帮助文档都能翻。

**价格**：CLI 开源免费；托管版有免费额度，超出按量付费（具体档位以官网为准）。

### 2. General Translation：React 里的 `<T>` 标签方案

**是什么**：官网 [generaltranslation.com](https://generaltranslation.com)，源码在 [github.com/generaltranslation/gt](https://github.com/generaltranslation/gt)。它的思路和 Lingo.dev 不同——不是“翻译文件”，而是“翻译组件”。

**核心玩法**：

1. 安装它的 React/Next.js 库，把文案用 `<T>` 组件包起来：

```jsx
import { T } from 'gt-react';

<T><p>欢迎回来，{user.name}！</p></T>
```

2. 跑一次 CLI 扫描，AI 会根据组件上下文生成翻译；
3. 翻译结果上传到它的托管面板，你在网页上审校。

**为什么值得关注**：

- **带插值的 JSX 直接翻**：`{user.name}` 这种运行时变量嵌在句子中间，传统 JSON i18n 要拆成三段拼起来，`<T>` 方案整句翻，语序问题（比如日语把动词放句尾）交给 AI 处理；
- **热发布（hot publish）**：据官方文档，修正一条译文后可以直接发布生效，不用重新构建部署——对“改个错别字也要走 CI”的团队是实打实的效率提升；
- 开发环境免费使用，生产托管按量付费（以官网为准）。

**适用人群**：Next.js/React 技术栈、文案和组件耦合度高、不想维护一堆 JSON 文件的团队。

### 3. Intlayer：内容声明写在组件旁边

**是什么**：开源项目（官网 [intlayer.org](https://intlayer.org)，源码在 [github.com/aymericzip/intlayer](https://github.com/aymericzip/intlayer)），特点是**每个组件配套一个 `.content.ts` 声明文件**，文案不集中在大仓库里，而是“谁用谁声明”。

**核心玩法**：

1. 组件旁边写 `my-component.content.ts`，声明该组件的文案字典；
2. 提供面向 AI 的补翻命令（类似 `intlayer fill`，以文档为准），可以**用自己的 OpenAI/Anthropic Key** 跑翻译——翻译成本自己掌控，数据不出你的账户；
3. 内置可视化编辑器（CMS），非技术同事也能改文案。

**为什么值得关注**：它把“AI 翻译用什么模型、花谁的钱”的决定权还给开发者，私有化部署场景（公司禁用第三方托管）下这是关键能力；同时字典跟着组件走，重构组件时文案不会变成孤儿。

### 加映：Paraglide JS（inlang 生态）

如果你不想要任何托管服务，可以看 inlang 生态的 Paraglide JS（[inlang.com](https://inlang.com)）：编译期把翻译生成类型安全的函数，文案 key 写错直接编译报错，配合其机器翻译 CLI 做初翻，全程本地化、零托管依赖。适合对数据主权敏感的团队。

## 三、传统流程 vs AI 本地化流水线

```mermaid
flowchart LR
  subgraph T[传统流程：天级周期]
    A1[导出 JSON] --> A2[翻译公司或手翻]
    A2 --> A3[人工回填]
    A3 --> A4[改一处重翻一轮]
  end
  subgraph N[AI 流水线：分钟级周期]
    B1[git push 新文案] --> B2[CI 检测 diff]
    B2 --> B3[AI 按上下文翻译]
    B3 --> B4[机器人发翻译 PR]
    B4 --> B5[人工抽查合并]
  end
  T -.升级.-> N
```

## 四、信息差总结

| 维度 | 你以为的 | 实际上海外在玩的 |
|---|---|---|
| 流程 | 翻译是“上线前一次性项目” | 翻译是 CI 里的常驻环节，随代码合并自动发生 |
| 成本 | 按字付翻译费，或烧 token 全量翻 | 只翻 diff 增量，润色过的文案锁死不再烧钱 |
| 质量 | 手动叮嘱 GPT“别改占位符” | 工具层面保证占位符/标签/复数规则不坏 |
| 人工介入 | 翻译公司来回复稿 | 只在机器人 PR 里抽查，改错字可热发布 |
| 技术选型 | i18n = 抽 JSON 到 `locales/` 目录 | `<T>` 组件、组件旁声明字典、编译期类型安全各有拥趸 |

## 五、行动指南

1. **今天就能做**：挑一个你手上的出海项目，把 Lingo.dev 的 CLI 跑起来——`npx lingo.dev@latest init`（以官方 README 为准），配一个两语言的 bucket，感受机器人发 PR 的流程；
2. **React 重度团队**：拿一个独立页面试点 General Translation 的 `<T>`，对比传统 JSON 方案在“带变量整句翻译”上的质量差异；
3. **数据不能出内网的团队**：用 Intlayer + 自有模型 Key，把补翻脚本挂到 pre-release 钩子上；
4. **验收标准**：让一个不懂中文的朋友试用你的日语版界面，占位符没坏、术语一致，就算流水线跑通。

## 参考来源

1. Lingo.dev 官网与文档：https://lingo.dev
2. Lingo.dev 源码仓库：https://github.com/lingo-dev/lingo.dev
3. General Translation 官网：https://generaltranslation.com
4. General Translation 源码仓库：https://github.com/generaltranslation/gt
5. Intlayer 官网与文档：https://intlayer.org
6. inlang / Paraglide JS：https://inlang.com

> 注：文中工具的具体价格、免费额度与命令行参数以各官网最新文档为准；Lingo.dev Compiler 的能力描述来自其官方介绍，未经第三方独立评测验证。

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
