|Labs
预约演示平台
React(Lingo Compiler)
Alpha
React (MCP)React(i18n)旧版 CLI(v0)
已废弃

Lingo.dev Compiler

  • 工作方式
  • 快速开始
  • Compiler 快速上手

框架

  • Next.js 集成
  • Vite + React

指南

  • 语言切换
  • 自动复数处理
  • 手动覆盖
  • 构建模式
  • 项目结构
  • 翻译服务提供商
  • 自定义 locale 解析器
  • 开发工具

参考

  • 最佳实践
  • 配置参考
  • 故障排查
  • 迁移指南
  • 优化
  • 输出格式

开发工具

Alpha

Lingo.dev Compiler 目前处于 alpha 阶段,功能尚不稳定,不建议用于生产环境,且 API 可能会在版本迭代之间发生变化。

Lingo.dev Compiler 提供了一组开发工具,让你无需调用外部 API,也能快速迭代多语言 UI。借助这些工具,你可以验证所有文本是否都可翻译、测试不同文本长度下的布局表现,并在开发过程中排查翻译问题。

Pseudotranslator#

pseudotranslator 会通过为源文本加上可视化标记,即时生成伪翻译。无需 API 密钥,不发起任何网络请求,结果立刻可见。

在编译器配置中启用它:

ts
{
  dev: {
    usePseudotranslator: true,
  },
}

生成结果#

源文本伪翻译
Welcome[!!! Welcome !!!]
Sign in to your account[!!! Sign in to your account !!!]
Items: {count}[!!! Items: {count} !!!]

这些标记([!!! ... !!!])能让已翻译文本在视觉上明显区别于未翻译文本。如果在启用 pseudotranslator 后,你仍在 UI 中看到原始英文,说明这部分文本没有经过编译器处理。

适用场景#

1

找出未翻译的字符串

启用 pseudotranslator 后运行应用。任何显示时没有 [!!! ... !!!] 标记的文本,都说明编译器未检测到它。这种情况通常出现在文本被存放在 JSX 外部的变量中,或组件位于 sourceRoot 目录之外时。

2

用更长文本测试布局

伪翻译通常会比源文本更长(因为包含标记字符)。这能模拟德语、法语等通常比英语长 20-30% 的语言,从而尽早暴露布局溢出问题。

3

验证插值是否正确

像 {count} 和 {name} 这样的占位符,应该出现在伪翻译标记内部。如果占位符出现在标记外部,或根本没有出现,说明编译器可能没有正确保留它。

pseudotranslator 走的是与真实翻译提供方相同的翻译流程——会经过同样的 AST 分析和代码注入步骤。唯一的区别在于生成翻译这一步:它会用标记替代 LLM 调用。

翻译服务器#

在开发过程中,编译器会运行一个本地翻译服务器,用于处理按需发起的翻译请求。当你运行 npm run dev 时,服务器会自动启动。

工作方式#

翻译服务器会监听本地端口,并处理来自开发构建流程的翻译请求。一旦检测到新增或变更的字符串,编译器就会将其发送到服务器,再由服务器路由到你配置的翻译提供方(或 pseudotranslator)。

端口配置#

服务器会在可配置的端口范围内自动查找可用端口:

ts
{
  dev: {
    translationServerStartPort: 60000,
  },
}
选项默认值说明
translationServerStartPort60000起始端口号。服务器会按顺序依次尝试端口(60000、60001、...、60099),直到找到可用端口。
translationServerUrl自动检测完全覆盖服务器 URL。适合用于连接远程翻译服务器或自定义代理。

如果 60000-60099 范围内的所有端口都已被占用,服务器将无法启动。关于如何解决端口冲突,请参见 Troubleshooting。

开发小组件(即将推出)#

这是一个浏览器内的翻译编辑器,让你在浏览应用的同时,实时查看和编辑翻译。该小组件会覆盖在你的 UI 之上,并展示每个文本元素的翻译详情。

计划功能包括:

  • 点击任意文本元素,查看其源文本、翻译和元数据
  • 直接在浏览器中编辑翻译
  • 修改会立即保存到 .lingo/metadata.json
  • 无需刷新即可切换语言区域

状态

开发小组件仍在开发中,暂未开放。请关注 changelog 获取发布更新。

推荐开发配置#

想获得最快的开发体验,建议将 pseudotranslator 与默认翻译服务器配置搭配使用:

ts
{
  dev: {
    usePseudotranslator: true,
    translationServerStartPort: 60000,
  },
}

当你准备预览真实翻译时,关闭 pseudotranslator 并重启开发服务器:

ts
{
  dev: {
    usePseudotranslator: false,
  },
}

随后,编译器会通过你配置的 translation provider,为新增或变更的字符串生成真实翻译。

下一步#

构建模式
开发、CI 与生产环境工作流
配置参考
所有开发选项一览
故障排查
端口冲突及其他开发问题
最佳实践
推荐的开发工作流

这个页面对你有帮助吗?

Max PrilutskiyMax Prilutskiy·已更新 4 个月前·1 分钟阅读