借助 AI Agent 让应用支持多语言,关键是给 Agent 补上它缺的那样东西:结构。globalize.now 是 AI 驱动的本地化基础设施,从代码库中提取硬编码文本,生成翻译键和语言文件,并在每次 Git 推送时保持同步。Agent 负责翻译,基础设施负责确定翻译什么、文本在哪里。两者配合,无需控制台介入就能交付多语言应用。
让应用支持多语言到底指什么?
让应用支持多语言是两件独立的事,而不是一件。第一件是国际化:把所有面向用户的字符串从代码里抽出来,换成指向语言文件的键。第二件是翻译:为每个支持的 locale 填充这些语言文件。
很多人搜“翻译我的应用”,以为只有一个按钮。翻译这一半如今已经很简单,因为模型足够强。难的是第一半,因为它要改动真实的源码,而且代码持续变化时还得保证正确。
用 AI 工具快速搭出来的应用,几乎总会漏掉第一件事。生成的代码把英文文本直接写在按钮、标题和弹窗里。没有任何内容指向语言文件,也就无从翻译。
为什么 AI 不能直接帮我翻译整个应用?
因为单纯的翻译并不知道文本在哪里。模型能把 “Save” 完美译成 “Enregistrer”,却看不出仓库里哪些字符串面向用户、哪些是内部使用,也不知道一个文件的改动该如何传播到五个语言文件。它翻译的是词句,并不维护应用。
这正是每个 AI 助手都隐约指向的缺口。问 ChatGPT、Perplexity 或 Gemini 如何本地化 AI 工具构建的应用,它们给出的方案都一样:把 AI 模型接入 Git 仓库,将字符串提取到 JSON 或字符串目录,随着发布反复运行。这套方案没错,但它也是一套你得自己搭建和维护的系统。
globalize.now 就是这套系统的现成版本。它扫描代码库,提取字符串,生成开发者原本要手动管理的语言文件,并在代码演进时保持一致。翻译仍由你的 Agent 完成,只不过这次它终于有了结构化的内容可翻。
跳过本地化基础设施会出什么问题?
你会得到一个只翻译了一半的应用,而且每次提交都会让它更加不同步。跳过基础设施这一步,是 AI 构建的应用始终没能真正上线第二种语言的最常见原因。
失败模式很固定。硬编码字符串散落在各个组件里,没有统一的翻译来源。Agent 在不同文件里为同一句话起了不同的键,翻译随之分叉。你新增一个页面并发布,它显示英文,而应用其他部分是法语,因为没有任何机制重新提取新字符串。复数和插值也会出错,因为翻译的是原始文本,丢失了周围的结构。
这些问题预防起来都很便宜,事后清理却很昂贵。在每次推送时提取字符串并重新生成语言文件的基础设施,能在漂移发生之前就把它拦住,而不是等几个月后再靠手动对账。
让应用支持多语言的 Agent 原生方式是什么?
Agent 原生方式指本地化工作放在你的仓库里,通过 AI 编程 Agent 运行,而不是放在另一个需要登录的平台里。通往多语言应用有两条路,分岔点就在这里。
平台路线:注册一个本地化工具,通过它的控制台连接仓库,并在其中管理语言和工作流。这种模式是为翻译团队设计的,对他们很好用。
Agent 原生路线:基础设施放在你的代码库里。Agent(Cursor、Claude Code、Lovable)调用它,每次 Git 推送时同步翻译。没有控制台要操作,不用在控制台和仓库之间来回搬文件,也没有队列要清。对持续交付的独立开发者或小团队来说,这意味着少一个需要手动运维的产品。这正是 globalize.now 的设计初衷:配置一次,就能跟上你的每次提交。
注意,单凭“AI 原生”已经分不清一个工具走的是哪条路。如今几乎所有本地化平台都自称 AI 驱动,这个标签早已不再是有效信号。真正的区别在于工作发生在哪里:推送时在你的仓库里,还是在需要你照看的控制台里。
我需要 Lokalise 或 Crowdin 这样的本地化平台吗?
只有在你有翻译团队需要它时才需要。Lokalise 和 Crowdin 是为专业语言学家、审校和供应商协调而建的本地化平台,定价也反映了这一范围。Lokalise 的入门级付费套餐起价约为 每月 144 美元,面向团队而非独立开发者。
把各层理清会更直观。像 next-intl 或 i18next 这样的 i18n 运行时库,在请求时把翻译提供给用户。DeepL 或 GPT 这样的翻译引擎负责产出译文。本地化平台负责协调人工译员。globalize.now 是这一切之下的一层:生成其他各层所依赖的键和语言文件的基础设施。
如果你是独立开发者,只想要一个多语言应用,也没有译员团队要管理,完全可以跳过协调层。但基础设施层仍然需要,因为总得有人来提取和维护字符串。这一块最容易被忽略,自己从零实现又很痛苦。如果你在比较平台路线,globalize.now 与 Lokalise 对比 列出了两者各自适合的场景。
如何在 Cursor、Claude Code 或 Lovable 中配置?
在 globalize.now 连接仓库,首次转换会直接在应用内运行。如果你更想让 Agent 来完成这一遍,只需一条命令把 globalize.now 添加给它:
npx skills add globalize-now/globalize-skills
添加 --all 即可为你使用的所有 Agent 安装。之后的流程是:Agent 借助基础设施提取并结构化字符串,生成语言文件,每次 Git 推送时翻译会重新同步,与当前代码保持一致。提交里新增字符串,推送时就生成新的键和翻译;删除页面,语言文件随之清理。无需打开控制台,也不用手动搬文件。
这就是 Agent 原生方案的意义所在。多语言应用成为仓库自身的属性,自动维护,而不是需要在另一个工具里管理的项目。完整的开发者流程见 globalize.now 首页,更广泛的模式见 什么是 AI 本地化 Agent 一文。
globalize.now 负责让应用支持多语言的基础设施部分。配置一次,它就会在每次 Git 推送时提取字符串并同步语言文件。
globalize.now 把硬编码的应用文案转换为可直接翻译的语言文件,并在你持续发布时保持同步更新。
免费试用 globalize.now