Weblate logo

Weblate

以 Git 为单一真相来源的开源翻译平台

精选工具TMS开源Git原生自托管

Weblate 让翻译修改直接映射为 Git 变更,特别适合开源项目、自托管部署和希望把本地化纳入代码审查流程的团队。

Weblate

基于 Git 的开源翻译平台,强调版本控制、社区协作与可自托管的持续本地化。


基本信息

项目内容
官网https://weblate.org
GitHubhttps://github.com/WeblateOrg/weblate
LicenseGPL-3.0(核心);托管服务另计
GitHub Stars约 5,000+
定位开源、Git 原生的翻译平台
托管自托管免费;hosted.weblate.org 云服务

技术定位与简介

Weblate 是以 Git 为单一真相来源的开源翻译平台,由 WeblateOrg 社区维护。每一次翻译修改都会生成 Git commit,天然具备版本历史、回滚、代码审查(通过 MR/PR)能力。它特别适合开源项目、文档本地化、以及希望翻译变更与代码变更同等严谨的团队。

Weblate 支持 100+ 文件格式,提供质量检查、翻译记忆、术语表、机器翻译、通知与 API。hosted.weblate.org 为众多 FOSS 项目提供免费托管;企业也可 Docker/K8s 自托管满足数据主权需求。


快速上手安装说明

使用托管服务(开源项目)

  1. hosted.weblate.org 注册
  2. 为 FOSS 项目申请免费托管(需符合政策)
  3. 连接 Git 仓库(GitHub/GitLab/Bitbucket)

Docker 自托管

# 使用官方 docker-compose
git clone https://github.com/WeblateOrg/docker-compose.git
cd docker-compose
docker compose up -d

项目配置(Git 集成)

在 Weblate 中创建 Component:

  • Repository URL:Git 仓库地址
  • File masklocales/*.json**/po/*.po
  • Source language:en
  • Translation files:按语言自动识别

译者提交翻译 → Weblate 自动 commit 到仓库(可配置 push 分支与 PR)。


核心特性

  • Git 原生:翻译即 commit,完整历史与 diff。
  • 质量检查:格式占位符、换行、标点、重复翻译等。
  • 翻译记忆(TM):跨项目复用。
  • 术语表(Glossary):统一术语。
  • 机器翻译:LibreTranslate、DeepL、Google 等可配置。
  • 通知:Email、Hook、Slack 等。
  • 权限与审查:角色、建议模式、审核后合并。
  • API:REST API 自动化管理。
  • 自托管:完全掌控数据与流程。

适用场景

  • 开源项目希望翻译变更可追溯、可 review。
  • 文档站(Sphinx、Markdown、gettext)多语言维护。
  • 团队已深度使用 Git,不愿引入独立 TMS 黑盒。
  • 需要自托管、GPL 合规、无供应商锁定的组织。
  • 社区志愿者翻译(Linux、Fedora 等大量项目使用 Weblate)。

技术亮点

  • VCS 中心设计:与开发者工作流一致,MR 审查翻译。
  • FOSS 托管:hosted.weblate.org 降低开源项目门槛。
  • 质量检查丰富:适合技术文案占位符严格一致。
  • 成熟稳定:十余年发展,大型社区项目验证。

技术局限与边界

  • UI 偏实用:不如 Lokalise 时尚,学习曲线存在。
  • 非运行时 i18n:不替代应用内 i18n 库。
  • GPL 许可:自托管修改分发需遵守 GPL(咨询法务)。
  • SaaS 商业功能:高级企业支持以自托管或商业合同为主。
  • In-Context 弱于 Tolgee:页内编辑不是核心卖点。

核心概念与架构

Git 仓库(源语言文件)
      ↓
 Weblate Component 拉取
      ↓
 译者 Web 编辑 + QA + TM
      ↓
 Weblate Git commit/push 或 PR
      ↓
 CI 构建应用

核心概念

  • Project / Component:项目与子模块(常对应一个 repo 或子目录)。
  • Suggestion:建议翻译,需审核后成为正式翻译。
  • Check:自动质量规则。

生态地图

  • 核心:Weblate(Python/Django)
  • DockerWeblateOrg/docker-compose
  • 托管:hosted.weblate.org
  • 客户端:weblate-cli、API
  • 对比:Tolgee、Crowdin、Transifex

生态集成

  • GitHub/GitLab:Webhook 双向同步,PR 模式。
  • gettext/PO:文档与 Linux 生态标准格式。
  • JSON/YAML:前端项目直接对接。
  • CI:监听仓库 push 触发构建,无需单独 pull
  • Django/React 等:作为翻译后端,应用仍用各自 i18n 库。

开发与工程化

  • File mask 正确性:错误 mask 导致无法识别新语言文件。
  • Push 分支策略:翻译 commit 到 l10n-main 再 PR 到 main。
  • 锁定源字符串:源语言变更时触发翻译标记「需更新」。
  • Component 拆分:monorepo 按目录拆多个 Component。
  • 备份:自托管需备份 DB 与 Git 凭据。

性能与安全

  • 性能:应用构建不受 Weblate 运行时影响(Git 驱动)。
  • 安全:自托管更新及时打补丁;托管服务信任 WeblateOrg 安全实践。
  • 权限:生产仓库写权限仅 Weblate 服务账号,启用 2FA。

技术对比

维度WeblateTolgeeCrowdin
Git 中心极强
开源GPLApache
自托管成熟成熟有限
商业 UI实用现代成熟
FOSS 免费托管部分

最佳实践

  1. 开源项目优先申请 hosted.weblate.org
  2. 翻译走 PR 流程,与代码 review 同等对待。
  3. 启用 Checks,尤其占位符与 HTML 标签。
  4. 源语言变更通知译者:利用「needs editing」状态。
  5. 自托管定期升级,关注安全公告。

学习与社区资源