Docker搭建翻译工具API - 多国语言翻译自由

提供多国语言翻译接口(中, 英, 俄),为程序/系统提供翻译服务; 切换服务到https://c.carlzeng.com:3/translate

有什么用

提供多国语言翻译接口,为程序/系统提供翻译服务

20231230, 实践用python调用测试(为了实现hexo多语言解决方案):

多发几个请求就error了

1
2
Thread-1 is translating zh to en, length=437                                                        
response RESULT: {"code":429,"message":"Too Many Requests"}

总之性能相当堪忧,没什么卵用的感觉。

20251121, 切换服务到 https://c.carlzeng.com:3/translate

怎么用

API 用法: post 到 https://translate1.carlzeng.com:3/translate

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const res = await fetch("https://translate1.carlzeng.com:3/translate", {
method: "POST",
body: JSON.stringify({
q: "Не рекомендуется использовать карту памяти свитча с MacOS. Дело в том, что эта ОС создает большое количество мета-файлов и папок на карте памяти, а так же может без спроса у пользователя менять атрибуты папок и файлов на вашей карте памяти, тем самым делая её частично или полностью неработоспособной. Это может выражаться в испорченных играх или приложениях, которые не будет отображаться или попросту перестанут запускаться\n\nДля того, чтобы минимизировать урон рекомендуется использовать виртуальные машины с Windows или следующие приложения и скрипты:\n\nClean My Drive 2\nЭто приложение автоматически удаляет весь макосовский мусор при извлечении любого usb носителя.",
source: "auto",
target: "zh-Hans",
format: "text",
alternatives: 3,
api_key: ""
}),
headers: { "Content-Type": "application/json" }
});

console.log(await res.json());

如果使用curl使用:

1
2
3
4
5
6
7
8
curl -X POST http://localhost:1188/translate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_access_token" \
-d '{
"text": "Hello, world!",
"source_lang": "EN",
"target_lang": "DE"
}'

UI 访问:

延伸阅读

实现方法

一键启动, 已放弃使用

1
2
3
4
5
6
7
8
9
10
11
version: "3"
services:
deepl:
stdin_open: true
tty: true
ports:
- 1188:1188
image: artem1sobolev/deepl:1.0.1
#same error: no route to. huiwushi/deepl_zu1k
#zu1k/deepl
restart: always

开放防火墙1188,反代(如果有需求的话)

下一步

我要把中文语言的文章内容都意义传给这个API,翻译成英文版和繁体中文版,这样多国语言的功能就能完整;路途还有点远…

切换服务到libretranslate

只加载中英俄文模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3.8'
services:
libretranslate:
image: libretranslate/libretranslate
container_name: lt_translate
restart: unless-stopped
ports:
- "8104:5000"
environment:
- LT_LOAD_ONLY=en,zh,ru
deploy:
resources:
limits:
memory: 4096M

其他的语言:

“en”,”name”:”英语”,
,”zh-Hans”,”name”:”简体中文”,
,”zh-Hant”,”name”:”繁体中文”,
,”fr”,”name”:”法语”,
,”de”,”name”:”德语”,
,”it”,”name”:”意大利语”,
,”ja”,”name”:”日语”,
,”ko”,”name”:”韩语”,
,”ru”,”name”:”俄语”,

服务运行起来需要一点时间(一开始UI会502报错), 耐心等待下…

下一步 API如何访问?

image-20251121113735341

灵感来源

translator简单、轻量、好用的划词翻译软件

https://github.com/OwO-Network/DeepLX

个性化需求沟通 扫客服加V加群: