免费开源机器翻译:LibreTranslate


目录
  1. 1. 部署
  2. 2. 体验

LibreTranslate,免费开源机器翻译 API,完全自托管。不依赖 Google等专有提供商来执行翻译,它的翻译引擎由开源的 Argos Translate 库提供支持。本文提供搭建自已的翻译服务器的方法。

官网地址:https://libretranslate.com/
项目地址:LibreTranslate/LibreTranslate

官网直接就可以用。

部署

1
2
3
4
sudo git clone https://github.com/LibreTranslate/LibreTranslate
cd LibreTranslate
nano docker-compose.yml
sudo docker-compose up -d

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
services:
libretranslate:
container_name: libretranslate
build:
context: .
dockerfile: ./docker/Dockerfile
restart: unless-stopped
ports:
- "5000:5000"
## Uncomment this for logging in docker compose logs
# tty: true
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
environment:
- LT_LOAD_ONLY=en,zh

此过程需要梯子。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Building libretranslate
[+] Building 424.5s (16/16) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.52kB 0.0s
=> [internal] load metadata for docker.io/library/python:3.11.11-slim-bullseye 8.3s
=> [internal] load .dockerignore 0.2s
=> => transferring context: 115B 0.0s
=> [builder 1/6] FROM docker.io/library/python:3.11.11-slim-bullseye@sha256:eea93906fa271284cd1bd0742448767a6afe352245c67e1b6ff4a9f2 19.9s
=> => resolve docker.io/library/python:3.11.11-slim-bullseye@sha256:eea93906fa271284cd1bd0742448767a6afe352245c67e1b6ff4a9f22201f867 0.1s
=> => sha256:eea93906fa271284cd1bd0742448767a6afe352245c67e1b6ff4a9f22201f867 5.26kB / 5.26kB 0.0s
=> => sha256:ed7a7f489551214abffb4469f69163db46db11e50b56dc94471dc34a05066264 1.75kB / 1.75kB 0.0s
=> => sha256:44fb74aaccfb6f3e8edd208c147c995b80c1ab23c2a8708cf7b3458090b22b96 5.29kB / 5.29kB 0.0s
=> => sha256:b983e127c643116d446fa1b64216f464e1d06a8bfaeeb8a895c361c1bc3f5652 30.26MB / 30.26MB 14.6s
=> => sha256:7af2721bf536eb7a18aaf13be6d585548f7ac0f7b8804a372def90b864e893a8 15.41MB / 15.41MB 11.3s
=> => sha256:da38fb816c2245f07225151751ae700e0cb280503761267ab01b1ad9e186fb07 1.08MB / 1.08MB 4.2s
=> => sha256:a68b3001a7005de40c4a336eebec81942fb2080cf3d0d7f85e79cf8378a302ac 250B / 250B 7.7s
=> => extracting sha256:b983e127c643116d446fa1b64216f464e1d06a8bfaeeb8a895c361c1bc3f5652 2.2s
=> => extracting sha256:da38fb816c2245f07225151751ae700e0cb280503761267ab01b1ad9e186fb07 0.1s
=> => extracting sha256:7af2721bf536eb7a18aaf13be6d585548f7ac0f7b8804a372def90b864e893a8 1.1s
=> => extracting sha256:a68b3001a7005de40c4a336eebec81942fb2080cf3d0d7f85e79cf8378a302ac 0.0s
=> [internal] load build context 0.4s
=> => transferring context: 2.68MB 0.2s
=> [stage-1 2/6] RUN addgroup --system --gid 1032 libretranslate && adduser --system --uid 1032 libretranslate && mkdir -p /home/libr 8.8s
=> [builder 2/6] WORKDIR /app 8.3s
=> [builder 3/6] RUN apt-get update -qq && apt-get -qqq install --no-install-recommends -y pkg-config gcc g++ && apt-get upgrade 75.7s
=> [builder 4/6] RUN python -mvenv venv && ./venv/bin/pip install --no-cache-dir --upgrade pip 15.8s
=> [builder 5/6] COPY . . 0.5s
=> [builder 6/6] RUN ./venv/bin/pip install Babel==2.12.1 && ./venv/bin/python scripts/compile_locales.py && ./venv/bin/pip insta 221.5s
=> [stage-1 3/6] COPY --from=builder --chown=1032:1032 /app /app 21.5s
=> [stage-1 4/6] WORKDIR /app 0.2s
=> [stage-1 5/6] COPY --from=builder --chown=1032:1032 /app/venv/bin/ltmanage /usr/bin/ 0.2s
=> [stage-1 6/6] RUN if [ "false" = "true" ]; then if [ ! -z "" ]; then ./venv/bin/python scripts/install_models.py --load_only_ 1.2s
=> exporting to image 28.0s
=> => exporting layers 27.9s
=> => writing image sha256:cace4510b11d7b5f1c020a1e24d4ae7fc9926ff86d5e84346fcfb312459cf17d 0.0s
=> => naming to docker.io/library/libretranslate_libretranslate 0.0s
WARNING: Image for service libretranslate was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating libretranslate ... done

体验

从ip:5000访问。