1
LibreTranslate部署方案
guoqingshan edited this page 2026-08-01 18:07:07 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

LibreTranslate 部署方案

1. LibreTranslate 是什么

LibreTranslate 是一个开源、可自托管的机器翻译服务,基于 Argos Translate 神经翻译引擎。

特点:

  • 无按字符计费,部署后翻译次数基本不受商业 API 限制
  • 翻译在本地模型上运行,文本不会发送给 Google、DeepL 等第三方
  • 提供 REST API,格式和本项目自定义接口兼容
  • 可离线运行,语言模型下载后不再依赖外网

2. 翻译效果评价

优点

  • 中文、英语、西班牙语等常见语言对可达到日常使用水平
  • 适合短句、日记、学习辅助、工具类应用
  • 隐私好,无第三方泄漏风险
  • 成本低,只承担服务器费用

局限

  • 翻译质量整体低于 DeepL 和 Google Cloud Translation
  • 长句、文学化表达、俚语、文化语境容易不自然
  • 部分冷门语言或语言对需要自己查找/安装模型
  • 首次下载模型较慢,服务器内存不足时响应会变慢

适用场景

  • 个人学习工具
  • 不需要把文本发送给第三方的内部系统
  • 对翻译成本敏感的项目
  • 对质量要求不是“出版级”的应用

3. 推荐部署方式

推荐使用 Docker Compose,最简单且便于升级。

3.1 环境要求

CPU:2 核以上
内存:4GB 以上(至少 2GB)
磁盘:10GB 以上,其中模型约 1-4GB
系统:Linux 推荐;Windows 使用 Docker Desktop
软件:Docker 20.10+,Docker Compose v2

3.2 Docker Compose 部署

创建目录:

mkdir libretranslate
cd libretranslate

创建 docker-compose.yml:

services:
  libretranslate:
    image: libretranslate/libretranslate:latest
    container_name: libretranslate
    restart: unless-stopped
    ports:
      - "5001:5000"
    environment:
      - LT_LOAD_ONLY=zh,es,en
      - LT_API_KEYS=false
      - LT_REQ_LIMIT=100
      - LT_UPDATE_MODELS=true
    volumes:
      - lt-models:/app/.local

volumes:
  lt-models:

启动:

docker compose up -d

查看日志:

docker compose logs -f

3.3 验证翻译服务

curl -X POST http://localhost:5001/translate ^
  -H "Content-Type: application/json" ^
  -d "{\"q\":\"我喜欢篮球\",\"source\":\"zh\",\"target\":\"es\"}"

正常返回类似:

{
  "translatedText": "Me gusta el baloncesto"
}

4. 与本项目集成

在本项目“翻译设置”中:

翻译方式:自定义接口
接口地址:http://localhost:5001/translate
接口密钥:留空
扩展配置:
{
  "result_key": "translatedText"
}

如果 LibreTranslate 和 Web 项目部署在不同机器,接口地址需要写服务器公网或内网地址。

5. 安全与生产部署建议

5.1 仅本机使用

如果只在本机运行,把 Docker 端口绑定到本机:

ports:
  - "127.0.0.1:5001:5000"

5.2 使用 API Key

设置环境变量:

environment:
  - LT_API_KEYS=true
  - LT_API_KEYS_DB_PATH=/app/db/api_keys.db
  - LT_ADMIN_PASSWORD=你的管理密码

启动后访问管理页面生成 API Key,再在项目设置中填入。

5.3 使用 Nginx 反向代理

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

    location / {
        proxy_pass http://127.0.0.1:5001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

建议配合 HTTPS 证书使用。

5.4 只加载需要的语言

environment:
  - LT_LOAD_ONLY=zh,es,en

只加载中文、西班牙语、英语模型,可以减少内存占用并加快启动。

6. 常见问题

6.1 模型下载失败

确认环境变量:

LT_UPDATE_MODELS=true

并检查服务器是否能访问互联网。

6.2 提示语言未加载

检查 LT_LOAD_ONLY 是否包含要使用的语言,例如:

zh,es,en

6.3 内存不足

减少加载语言,或把服务器内存提升到 4GB 以上。

6.4 公共实例返回 403

不要依赖公共实例,建议部署自己的实例。

6.5 翻译质量不够

可考虑混合策略:

  • 普通短句:LibreTranslate
  • 重要长句:MyMemory 或 DeepL Free

7. 其他部署方式

7.1 Railway 一键部署

访问 Railway 的 LibreTranslate 模板,选择部署即可。

适合快速测试,模型需要持久化存储。

7.2 Python 源码部署

pip install libretranslate
libretranslate --host 0.0.0.0 --port 5001 --load-only zh,es,en

Windows 本地部署建议使用 Docker Desktop,Python 源码方式更容易遇到依赖问题。

8. 与其他服务对比

方案 免费额度 质量 部署难度 成本
MyMemory 约 5000 字符/天 中 无 免费
LibreTranslate 自部署 无字符限制 中 中 服务器费用
DeepL API Free 50万字符/月 高 低 免费额度
Google Translation Basic 50万字符/月 高 低 免费额度
Azure Translator F0 200万字符/月 高 低 免费额度

9. 总结

LibreTranslate 是“零按量费用 + 私有部署”的最佳选择,适合本项目作为长期稳定的翻译后端。

推荐方案:

个人使用:Docker 本机部署 + 127.0.0.1
公网使用:Docker 部署 + API Key + Nginx + HTTPS
质量优先:保留 MyMemory / DeepL 作为可选配置