Tolgee
支持 In-Context 编辑与自托管的开发者友好本地化平台
精选工具TMS开源自托管In-Context
Tolgee 兼顾云服务和自托管部署,强调在真实应用界面中直接编辑翻译,适合强调数据主权和研发效率的团队。
Tolgee
开源友好的本地化平台,支持自托管、In-Context 编辑与现代开发者工作流。
基本信息
| 项目 | 内容 |
|---|---|
| 官网 | https://tolgee.io |
| GitHub | https://github.com/tolgee/tolgee-platform |
| License | 平台核心 Apache-2.0;云服务商业托管 |
| GitHub Stars | 约 2,500+(平台仓库) |
| 定位 | 开源 TMS + 可选 SaaS |
| 特色 | In-Context 编辑、自托管、开发者优先 |
技术定位与简介
Tolgee 是近年来增长迅速的开源本地化平台,定位为 「开发者在生产/预发环境中直接改翻译」 与 「可自托管的 Crowdin 替代」。它提供 Web 平台、REST API、CLI、JavaScript SDK,以及可在运行中的应用内通过 Alt+点击 编辑文案的 In-Context 功能(需集成 SDK)。
团队可选择 Tolgee Cloud 托管,或使用 Docker 自托管 完全掌控数据——这对数据主权、内网部署、合规要求高的团队具有吸引力。Tolgee 支持 JSON、Android XML、iOS strings、PO 等格式,并与 React、Angular、Vue 等框架有集成示例。
快速上手安装说明
云服务
- 注册 app.tolgee.io
- 创建 Project,获取 API Key
- 导入 JSON 或连接 Git
自托管(Docker)
docker run -d \
-p 8080:8080 \
-e TOLGEE_AUTHENTICATION_ENABLED=true \
tolgee/tolgee访问 http://localhost:8080 完成初始化。
JavaScript SDK(React 示例)
npm install @tolgee/react @tolgee/webimport { Tolgee, DevTools, FormatSimple } from '@tolgee/web'
import { TolgeeProvider } from '@tolgee/react'
const tolgee = Tolgee()
.use(DevTools())
.use(FormatSimple())
.init({
language: 'en',
apiUrl: 'https://app.tolgee.io',
apiKey: 'YOUR_API_KEY',
})
function App() {
return (
<TolgeeProvider tolgee={tolgee}>
<YourApp />
</TolgeeProvider>
)
}import { T } from '@tolgee/react'
function Welcome() {
return <T keyName="welcome" defaultValue="Welcome" />
}CLI
npm install -g @tolgee/cli
tolgee push
tolgee pull核心特性
- 开源可自托管:Apache-2.0,Docker/K8s 部署。
- In-Context 编辑:页面上直接修改翻译(开发/预发环境)。
- Tolgee SDK:React、Vue、Angular、Svelte 等集成。
- CLI:push/pull 与 CI 集成。
- 翻译记忆与机器翻译:TM、MT 辅助(云/自托管配置而异)。
- 截图与上下文:为译者提供 UI 上下文。
- 权限与项目:多项目、多语言、角色管理。
- API:完整 REST API 与 Webhooks。
技术亮点
- 数据自主:自托管满足内网与合规需求。
- 开发者体验:In-Context 减少「找 key」成本。
- 开源透明:可审计、可定制、社区贡献活跃。
- 成本可控:自托管无按席位 TMS 费用(运维成本另计)。
技术局限与边界
- 自托管运维负担:需负责备份、升级、安全补丁。
- 生态小于 Crowdin:第三方集成数量较少。
- 生产环境 In-Context 风险:通常仅 staging 启用 DevTools/SDK 写权限。
- 企业级 LSP 流程:弱于 Phrase、Memsource 等专业 TMS。
- 大规模单项目:超大型 key 集需验证性能与分库策略。
生态地图
- 平台:tolgee-platform(自托管/云)
- JS SDK:
@tolgee/web、@tolgee/react、@tolgee/vue等 - CLI:
@tolgee/cli - Figma 插件:社区/官方集成(以文档为准)
- 对比:Weblate、Crowdin、Locize
生态集成
- React / Next.js:
@tolgee/react+ Provider。 - Vue / Nuxt:
@tolgee/vue。 - CI:
tolgee pull构建前同步;或运行时 API 拉取(需策略)。 - Git:CLI 或 webhook 双向同步。
- 仅预发启用 DevTools:生产构建剔除写权限 API Key。
开发与工程化
- 分环境 API Key:production 只读,staging 可写。
- defaultValue 与 keyName:SDK 中
T组件 defaultValue 作为开发 fallback。 - 自托管备份:PostgreSQL 数据定期备份。
- 版本升级:关注 platform release notes,测试升级脚本。
- 与静态 i18n 混用:可 pull JSON 到仓库,生产不依赖运行时 API。
性能与安全
- 运行时 API:注意翻译拉取延迟;可缓存 + stale-while-revalidate。
- 安全:自托管需 HTTPS、强密码、网络隔离;API Key 分权限。
- In-Context 攻击面:生产禁用编辑,防止未授权改文案。
技术对比
| 维度 | Tolgee | Weblate | Crowdin |
|---|---|---|---|
| 开源 | 是 | 是 | 否(云服务) |
| 自托管 | 是 | 是 | Enterprise |
| In-Context | 强 | 中 | 有 |
| 集成生态 | 中 | 中 | 极强 |
| 企业 LSP | 弱 | 中 | 强 |
最佳实践
- 生产用 pull 静态 JSON,预发用 SDK In-Context。
- 自托管做好 DB 备份与监控。
- keyName 稳定,defaultValue 仅作开发参考。
- 权限最小化:译者不可改源语言。
- 评估与 vue-i18n/i18next 并存:可逐步迁移或并行。
学习与社区资源
- 文档:https://tolgee.io/platform
- GitHub:https://github.com/tolgee/tolgee-platform
- JS SDK:https://github.com/tolgee/javascript
- Discord:官方社区(见官网)
- Docker:https://hub.docker.com/r/tolgee/tolgee