搬瓦工部署 Weblate 翻译协作平台完整教程

Weblate 是一款专业的开源翻译协作平台,被许多知名开源项目(如 phpMyAdmin、LibreOffice 等)用于管理多语言翻译。它支持与 Git/SVN 仓库集成、翻译记忆库、术语表、机器翻译建议、质量检查和多种翻译文件格式。本文将介绍如何在搬瓦工 VPS 上通过 Docker 部署 Weblate。

一、准备工作

1.1 系统要求

  • 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
  • 内存:至少 2GB,推荐 4GB。
  • 磁盘空间:至少 10GB。
  • 域名:需要准备域名。
  • Docker:需提前安装,参考 Docker 安装教程

1.2 创建目录

mkdir -p /opt/weblate/data
cd /opt/weblate

二、Docker Compose 部署

2.1 创建配置文件

cat > docker-compose.yml <<'EOF'
version: '3.8'

services:
  weblate:
    image: weblate/weblate:latest
    container_name: weblate
    restart: unless-stopped
    depends_on:
      - database
      - cache
    ports:
      - "8080:8080"
    environment:
      WEBLATE_DEBUG: 0
      WEBLATE_LOGLEVEL: INFO
      WEBLATE_SITE_TITLE: 翻译平台
      WEBLATE_SITE_DOMAIN: translate.example.com
      WEBLATE_ADMIN_EMAIL: admin@example.com
      WEBLATE_ADMIN_NAME: Admin
      WEBLATE_ADMIN_PASSWORD: your_admin_password
      WEBLATE_SERVER_EMAIL: noreply@example.com
      WEBLATE_DEFAULT_FROM_EMAIL: noreply@example.com
      WEBLATE_ALLOWED_HOSTS: "*"
      WEBLATE_REGISTRATION_OPEN: 1
      POSTGRES_PASSWORD: weblate_db_pass
      POSTGRES_USER: weblate
      POSTGRES_DATABASE: weblate
      POSTGRES_HOST: database
      POSTGRES_PORT: 5432
      REDIS_HOST: cache
      REDIS_PORT: 6379
      WEBLATE_EMAIL_HOST: smtp.example.com
      WEBLATE_EMAIL_PORT: 587
      WEBLATE_EMAIL_HOST_USER: noreply@example.com
      WEBLATE_EMAIL_HOST_PASSWORD: smtp_password
    volumes:
      - ./data:/app/data

  database:
    image: postgres:16-alpine
    container_name: weblate-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: weblate
      POSTGRES_PASSWORD: weblate_db_pass
      POSTGRES_DB: weblate
    volumes:
      - ./postgres:/var/lib/postgresql/data

  cache:
    image: redis:7-alpine
    container_name: weblate-cache
    restart: unless-stopped
    volumes:
      - ./redis:/data
EOF

2.2 启动服务

docker compose up -d

首次启动需要初始化数据库和创建管理员账户,可能需要 3-5 分钟。查看日志:

docker compose logs -f weblate

2.3 访问界面

浏览器访问 http://你的服务器IP:8080,使用配置中设置的管理员邮箱和密码登录。

三、添加翻译项目

3.1 创建项目

登录管理后台后,点击「添加项目」,设置项目名称和相关信息。项目是最顶层的组织单位,通常对应一个软件产品。

3.2 添加组件

在项目中添加组件(Component),每个组件对应一个翻译文件。需要配置:

  • 版本控制:Git 仓库地址、分支名称。
  • 文件掩码:翻译文件的路径模式,如 locale/*/messages.po
  • 源语言:原始语言(通常是英语)。
  • 文件格式:PO、JSON、XLIFF、Properties 等。

3.3 支持的翻译格式

Weblate 支持广泛的翻译文件格式:

  • GNU gettext(PO/POT)
  • JSON(包括 i18next、WebExtension 等变体)
  • XLIFF(1.2 和 2.0)
  • Android 资源文件(XML)
  • iOS Strings
  • Java Properties
  • YAML
  • PHP 数组
  • Qt Linguist(TS)

四、翻译工作流

4.1 翻译界面

Weblate 提供直观的翻译编辑器,包含源文本、翻译输入框、翻译建议、翻译记忆和术语提示。翻译者可以逐条翻译字符串,系统会自动保存进度。

4.2 翻译记忆库

Weblate 自动建立翻译记忆库(Translation Memory),当遇到相似或相同的源文本时,会自动推荐已有的翻译。这大大提高了翻译效率和一致性。

4.3 术语表

可以为每个项目创建术语表,确保关键术语的翻译一致。翻译编辑器中会自动高亮术语表中的词汇。

4.4 质量检查

Weblate 内置多种质量检查规则,自动检测常见翻译错误,包括格式字符串不匹配、标点符号问题、空翻译和长度超限等。

五、Git 集成

Weblate 与 Git 仓库紧密集成:

  • 自动从 Git 仓库拉取最新的源文本。
  • 翻译完成后自动提交并推送到 Git 仓库。
  • 支持 GitHub/GitLab Pull Request/Merge Request 工作流。
  • 可配置 Webhook,在代码更新时自动触发 Weblate 同步。

六、Nginx 反向代理

server {
    listen 443 ssl http2;
    server_name translate.example.com;

    ssl_certificate /etc/letsencrypt/live/translate.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/translate.example.com/privkey.pem;

    client_max_body_size 100M;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

七、维护与更新

7.1 更新 Weblate

cd /opt/weblate
docker compose pull
docker compose down
docker compose up -d

7.2 备份数据

# 备份数据库
docker exec weblate-db pg_dump -U weblate weblate > weblate-db.sql

# 备份 Weblate 数据
tar -czf weblate-data.tar.gz -C /opt/weblate data/

总结

Weblate 是管理软件翻译和本地化的专业工具,在搬瓦工 VPS 上部署后可以为开源项目或商业产品提供完整的翻译协作平台。其 Git 集成和翻译记忆库功能大大提升了翻译效率。选购搬瓦工 VPS 请参考 全部方案,建议选择至少 2GB 内存的方案。购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。如遇问题,可前往 搬瓦工官网 提交工单。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。